Back to Posts
Listen to Thread
Edited

One of the big issues of ML algo design is run-time optimization - usually at the cost of losing performance. This time I tried to simply the Perceptron Algo I posted earlier by using only the result after the last iteration, and as suggested by Fawce, tried set_universe() method to reduce bias. Also thanks to Grant, me censix, and Chris for pointing out a few typos and limitations of batch_transform, I reduced some excessive code here.

But it still a long time to backtest - and that's why I only included test results since the last quarter of 2012. Meanwhile, using set_universe() makes perceptron returns more volatile, as max drawdown is dramatically increased. But overall performance remains decent, and I'm looking forward to more suggestions on how to improve this idea. Thanks in advance!

NOTE: Please refer to the next backtest for a better design. This algorithm has a flaw in that when indicator is negative, I set it as buying (negative sign cancelled)

Clone Algorithm
130
Loading...
Backtest from to with initial capital ( data)
Cumulative performance:
Algorithm Benchmark
Custom data:
Week
Month
All
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Information Ratio
--
Benchmark Returns
--
Volatility
--
Max Drawdown
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Information Ratio 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
This backtest was created using an older version of the backtester. Please re-run this backtest to see results using the latest backtester. Learn more about the recent changes.
There was a runtime error.

Surprisingly, if we buy when prices are dropping (or at least predicted to drop), and sell when prices are rising instead of the other way, we can get much better performance in terms of volatility.

Clone Algorithm
130
Loading...
Backtest from to with initial capital ( data)
Cumulative performance:
Algorithm Benchmark
Custom data:
Week
Month
All
Total Returns
--
Alpha
--
Beta
--
Sharpe
--
Sortino
--
Information Ratio
--
Benchmark Returns
--
Volatility
--
Max Drawdown
--
Returns 1 Month 3 Month 6 Month 12 Month
Alpha 1 Month 3 Month 6 Month 12 Month
Beta 1 Month 3 Month 6 Month 12 Month
Sharpe 1 Month 3 Month 6 Month 12 Month
Sortino 1 Month 3 Month 6 Month 12 Month
Information Ratio 1 Month 3 Month 6 Month 12 Month
Volatility 1 Month 3 Month 6 Month 12 Month
Max Drawdown 1 Month 3 Month 6 Month 12 Month
This backtest was created using an older version of the backtester. Please re-run this backtest to see results using the latest backtester. Learn more about the recent changes.
There was a runtime error.
Log in to reply to this thread.
Not a member? Sign up!