Short sell with backtest Engine
4 views (last 30 days)
Show older comments
What's the most effecient way to implement short selling strategies with the backtestEngine?
Using this Matlab example as a reference: https://www.mathworks.com/help/finance/backtest-investment-strategies-with-trading-signals.html
It appears that if you change crossoverRebalanceFcn to output negative portfolio weights, for example
change
new_weights(idx) = availableCapital / uninvestedAssets;
to
new_weights(idx) = -availableCapital / uninvestedAssets;
That seems to work. Is that the correct way to implement a short? Any other considerations with this approach or is there a better approach?
0 Comments
Accepted Answer
Brendan
on 20 Jan 2021
hello again Ando,
Yes, that is how you take short positions using the backtestEngine. You just set a negative weight on an asset. Since the total weights should equal to 1, shorting an asset will mean you have additional weight to allocate to long positions, or else the unallocated weight will stay in cash earning the RiskFreeRate.
cheers,
-brendan
1 Comment
Tim Billingsley
on 31 Aug 2021
Is the backtestEngine really set up to handle short positions? When I have negative weights on an asset, there are intermediate buy and sell costs and also unaccounted for Turnover values?
Regards
Tim
More Answers (0)
See Also
Categories
Find more on Portfolio Optimization and Asset Allocation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!