How did you manage brokerages and slippages? Custom functions for them too?
- You could model the stock prices and then arrive at the options prices (quite mathematical)
- You could treat option data similar to stock prices and then run a backtest on them (by creating a unique symbol for each stock/toption type/strike price)
If you prefer the second method, you can use backtrader or try fastbt (fastbt is my library).
Zipline is great but requires strict sanitized data. Quantconnect
I prefer python over amibroker (since I don't know amibroker and I run on linux)