Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I noticed you got close prices from Yahoo that you are using for your backtest. If you get the close prices in real life and optimize, when are you going to trade?

You have to deal with intraday prices now. Got those? Well they are not split or dividend adjusted. Good luck.



Don't forget mergers. I spoke about this problem recently at Matt Turck's Big Data Meetup (http://vimeo.com/60598560). Quantopian provides zipline powered backtesting over fully adjusted intra-day data (minute bars) for free.


Unfortunately I wasn't able to attend February's Big Data Meetup, so I missed your talk. EDIT: (I did just view it online, my comment takes what you said into account.)

My point about intraday data with corporate actions wasn't really about the difficulty with corporate actions, but rather the leaky abstraction of trading present in the slides. To give you credit, I don't know what issues Quantopian addresses. On the other hand, has any one tried running Zipline-backtested strategies in real life? Does any one know what issues aren't addressed by Quantopian? Corp actions was one part, T-cost model was hinted at in the slides, but was any though given to borrow costs and availability? There leaks everywhere. It is not that you don't seem like smart guys who made this cool thing freely generously available to everyone, but that you seem like you spent too little time downtown NYC.

PS. Fully adjusted bars are nice, but they have an epoch to be adjusted to. Unfortunately having an epoch that is not today() means you can't add today's data to it. If you can't add today's data to it, you can use this system to generate real trades to trade. Now you need two sets of data and two sets of code to work with. Good luck.


Thanks for taking a look, and for the feedback. Zipline does model transaction costs, both commissions and price impact of your own trading (slippage). The commissions and slippage models are pluggable, so you can use what is there or roll your own.

Quantopian does not have data for stock borrowing costs or availability, and Zipline's slippage/cost model does not account for them either. We'll find a way to get that data and plug the hole. The challenge has been finding a clean way to get it from the brokers, or finding an aggregator with a reasonable price (any advice?). In the meantime, we've been open about this limitation, and the zipline code is opensource, so I think/hope anyone who cares to know does probably know.

Quantopian is building our live trading environment now, so we don't yet have comparisons between the backtest results and real trading.

Regarding your point about the epoch, I'm not sure I entirely follow you. Part of the point of zipline's design is to allow easy swapping of datasources, mainly to allow the transition from backtesting to paper trading and then to real trading to be seamless. One algo code can run either historically or live. Adjustments from splits and mergers are back-projected, so that current day prices need no adjustment. Dividends are dealt with as announce, ex, and pay events, meaning we do not smooth out the over-night drops, instead we increment/decrement cash.

I'm in NYC regularly to host the NYC Algorithmic Trading meetup - it would be awesome to talk to you about these issues in person, please consider coming: http://www.meetup.com/NYC-Algorithmic-Trading/


Yes, yahoo finance prices can be quite messy and sometimes even wrong for the reasons you mention. I wanted the code to be portable so that's why I used them.

We have the same strategy on Quantopian though (https://www.quantopian.com/posts/olmar-implementation-fixed-...) where we have 10 years of minutely data, adjusted for splits and dividends. It seems to do quite well.


presentation is unreadable on Linux Chrome btw


I would think it's relatively easy to swap in refined data after the fact. The attraction here is the process to consume the data.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: