Short sell with backtest Engine

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?

 Respuesta aceptada

Brendan
Brendan el 20 de En. de 2021

0 votos

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 comentario

Tim Billingsley
Tim Billingsley el 31 de Ag. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Portfolio Optimization and Asset Allocation en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 15 de En. de 2021

Comentada:

el 31 de Ag. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by