Sandeep Deb's Home Page
Pluto
  The greek god of wealth
Features  |   Technical details  |   Download  |   Latest additions

Pluto simple put, is a market tracking and visualization program. A program conceptualized more from need than from necessity. It has been a couple of weeks since I jumped into online market trading. My jump was motivated purely by the fact that my next professional engagement was for a stock exchange. Well, I started pretty green behind the ears and thought the only way to accelerate understanding of this new domain was to put some personal motivation at stake and what better motivation than putting some of my hard earned dough on the turbulent waters of the current day market.

I entered right when the market was buckling and little webs of cracks were forming. This was some time before the October 2008 panic had hit the econony. I felt almost like an amateur astronomer who on his first night at the telescope found himself staring at a supernova in the sky. Everyone was talking about the markets, starting from my colleagues down to our local grocer. Not to mention that little bleeding that my market funds were going through. Little, not because of smart investment but because I hadn't put much of my blood on the stake.

To start with, my investments were all random. I used to pick up tips about good and bad stocks at the lunch table and spent the rest of the time watching my money being swept away. The most frustrating part was that my fingers had started aching pressing the refresh button on the browser to track the last traded price. Then came one or two lucky investments and I recovered enough money after paying the brokerage charges to cover for two packs of cigarettes. The excitement was almost like the time when I had earned my first pay cheque.

Soon the realization set in that random investments and pressing the F5 button were not going to work. I needed to have a broader perspective of the market, have realtime and offline access to the market statistics and have mechanisms to visualize the market data from multiple perspectives. Online systems like yahoo finance, etc are OK, but they don't expose real realtime data (unless you pay) or high end visualization mechanisms. There were commercial tools and data feeds but I was in no mood for big investments.

And then my itchy fingers beconed. It has been months since I had ventured on one of my personal pet projects and this was too much of a seduction to refuse. So the journey began, two months ago when I started conceptualizing Pluto. It was clear from the beginning that Pluto is going to be big and the development is going to take months and thousands of lines of code. To add to the complication, were my green ears - I had no clue what I was trying to build :D. Fortunately, this was not the first time I was facing this scenario. As a software architect, every new engagement starts with exactly the same feelings. All it meant was that Pluto was not a quickie, I had to really focus on building it. All it meant was that Pluto needed thought, and lots of it. Since the requirements were to unfold during the journey, the base design was to be stable and enough decoupled as functional layers were slapped onto the existing core.

The image above shows Pluto as it stands now. You can click on the image for a better resolution picture. Pluto is in active construction as I write, but the functional slices are being implemented iteratively. In its current state pluto is already in production and tracking 178 index lined scrips on an intra day basis and more than 2700 scrips on an end of day basis. Along with this, Pluto also tracks 7 indexes on a intra day and end of day basis. The intra day data resolution is around 30 seconds, with features of backfilling high resolution intra day data both for indexes and index linked scrips. Pluto does not require commercial data feeds or any other paid licenses. It scourges on data freely available on the internet and sends spiders to leech them onto its private Postgres database.

Phew! I was almost getting into the form of bragging about the capabilities of Pluto, but I guess I can do it in a more structured fashion on another page, dedicated for Pluto's features. I also plan to add couple of pages on the technicalities of Pluto, in hope that the information would be valueable to someone with similar itch.