Z-backtest
Intro
Why? bother to create another backtest framework, if we already have plenty of them?
- I can not find even one backtest framework to backtest option (or deriveritive) based strategy properly. (Mix of option and delta one product is a Bigger NO!)
- Debug/Reconcile backtest is painful, because of bad state management
- Logic components are hard to re-use
- And thanks to point 3, strategy code to strategy logic is not easy
- Not easy to do strategy of strategies
How? to solve above problems?
- Use unified interface for derivertive and delta-one Node (And Event a Strategy!)
- Use explicit state management, things like Redux
- Use Algo stacks to express logics
- Thanks to point 3, this is solved
- Use Tree structure to describe strategy (Check point 1)
What? we will achieve in this framework?
- Derivertive/Delta-one/Strategy can be backtested together
- Strategy data will be presented as a tree structure
- Common logic can be tested and re-used easily
- Compose common logics creats new strategy easily
- Strategy logic will be explicitly expressed as Algo stucks
- State evolution during backtesting is trasnprent
What are not our goals (at least for now):
- Spead (If you are simple enough, you should be fast as well)
- Live trading (state => order => trade => state)
- Intraday strategy
- A lot of built in batteries (common logics, or complex derivative Node)