Archive | March 2011

Programming and stock exchange – HFT

At first I want to do a small introduction on how markets work: once upon a time, operators could make some money through the inefficency of the market just with a telephone, by buying from a market and selling a few minutes later in another market to an higher price and gain from the price difference, this was possible because stock exchanges were not integrated as today with a computerized system, and before differences in prices could adjust from a place to another it would have taken a few minutes.

Nowadays this is not as much possible to take advantage of this inefficency, because prices are the same all over the world, and for example,  if you are looking for a stock price on a screen, it would be the same whether you were in Hong Kong or in New York.

This is possible because of information technology that, as everyone know, is becoming always more important by making the world to become smaller and smaller. Connecting one place to another in just a fraction of a second.

This is the point. Fraction of a second

The prices, as I said, adjust quite instantly all over the world, so that a human could not notice or profit by this small amount of time. Thing is, it is too fast! even if you tap continuously on a button.. and you couldn’t even determine if the price in that blink has raised or decreased.

Here it comes algorithmic trading or robo-trading, and in particular a special class of algorithmic trading which is called “high-frequency trading” (HFT), “in which computers make elaborate decisions to initiate orders based on information that is received electronically, before human traders are capable of processing the information they observe“. Wiki

We are talking of very small amount of time, nanoseconds, that just a machine could use. And if a developer could create an algorithm that is both efficient and fast enough to beat the competition it could become very rich.

Literally, this is a “millions dollars affair”, indeed some societies such as banks, hedge funds and main investors, are already developing their own systems to make million dollars profits a year. A great opportunity of job and profit for both investors and developers, in a branch that will be on the daily agenda of the next (not so far) future.

Algorithm will be the new trading operators.


APIs – Piximilar and PixMatch

When you are working on a photo-related web service or mobile app you cannot evaluate the contribute that some APIs can give to it.

Today I want to talk about Piximilar and PixMatch, both these APIs are developed by Idée that is specialized in inmage recognition and visual search software.

But let’s do a small summary of what you can do with the help of these solutions.


Piximilar Visual Search is an API that allows you to search through a large image database, without keywords or metadata, and it will find and show you similar photos, based on their content analysing attributes like colour, shape, texture, luminosity, complexity, objects etc.

Here is a video of this technology applied to a stock images database.

[ ?posts_id=986958&dest=-1]


PixMatch instead is a general image matching engine that lets you compare images, identify duplicates and filter them, everything on-the-fly and very fast.

There’s only one drawback of this API because it’s an hosted web service and you need to send your image collection via HTTP to their servers and even though it support huge collection, this could be a problem if you want to use photos you don’t host on your servers.

For more information check out the company site

But now let’s go back to us. What are the practical uses and application you can create with these sort of service?

At NightFarm we are evaluating to integrate these APIs in our, under-development, location based Photo service. Firstly to improve the results obtained from our search algorithm, so that we can exclude too many similar images taken in the same place. Then, imagine you are looking for a nearby place similiar to a photo you’ve seen on the web and show it on a map. This would be very useful and improve the user experience.