Vivien Ye

My Internship with Wealthfront

I’m wrapping up my first couple of weeks at Wealthfront, and I’m very confident to say that I made the right decision for my last internship before graduation. On my first week, I was told “Now you know what it’s like to work at a hypergrowth startup company”. I couldn’t agree more with the sentiment, […]

July 07, 2014

Qian Liu

Developing a Portfolio Backtester in R

As part of building our new Tax-Loss Harvesting (TLH) feature, we needed to build a portfolio backtester to simulate portfolio performance over a historical period. R was the obvious choice for its strength in statistics and finance; the R Finance community in particular has created a number of very useful packages, some of which we’ll talk […]

October 15, 2012

Qian Liu

Experience of serializing financial domain objects in database

I found myself often having to make serialization design choices to persist financial data in database. The kind of financial data I’m referring to are domain objects describing stocks, stock quotes, stock fundamentals, corporate actions and so on. For example, a typical stock object has about 20 ~ 30 fields describing its static information: country, […]

October 25, 2010

Pascal-Louis Perez

Type Safe Bit Fields Using Higher-Kinded Polymorphism

Refering to securities, such as stocks or bonds, is far from standard. We all know Apple’s ticker AAPL; But what about the Oracle of Omaha’s company Berkshire Hathaway? Google says BRKA, Yahoo! BRK-A, Bloomberg BRK/A and Reuters BRKa. Due to these oddities, every serious automated trading system like kaChing’s has at its core a powerful […]

August 13, 2010

Qian Liu

Financial instrument reference data validation

The kind of system we develop at kaChing is very data intensive. Given our test-driven approach, many problems we encounter in production are caused by issues in data, rather than bugs in code. Particularly, the system often gets confused by stock symbols. Wait a minute, you might wonder: how come stock symbols are confusing? GOOG […]

June 10, 2010