使用调整后的调整后价格进行股票策略回溯测试?

时间:2018-02-15 13:12:00

标签: quantmod yahoo-finance quantitative-finance trading algorithmic-trading

这更像是一种方法论(而非编程)问题,但它感觉SO是正确的地方。在雅虎于2017年5月更改其默认值以获取每日数据(在https://github.com/joshuaulrich/quantmod/issues/174http://blog.fosstrading.com/2017/06/yahoo-finance-alternatives.html和SO Why Open,High,Low prices are wrong when using quantmod?上讨论)之后,经历了起伏不定)我可能不是唯一一个不是100的人%确定在回测过程中使用哪些数据以及quantmod getSymbols.yahoo和adjustOHLC是否仍提供质量回测的相关数据。 Quantmod 0.4.11还包括AlphaVantage(调整后库存)数据提供商,但我不熟悉它们的可靠性。 如何准备从getSymbols调用获得的(股票和指数)数据?应该使用哪些数据((股票和股息)调整或未调整)?你使用哪些转换? adjustOHLC函数还包含一个错误,因为它没有进行拆分调整(通过调用

在AAPL上很容易看到)
 getSymbols(AAPL)
 chart_Series(adjustOHLC(AAPL))

并观察2014年的跳跃。

1 个答案:

答案 0 :(得分:1)

您应该始终使用调整后的价格。大多数情况下,当数据提供商没有调整价格时,通常会调整提供商的收盘价格。没有必要对原始收盘价格数据进行回溯测试。我曾经通过下载近似价格而不是调整而犯了一个错误,在回测结束时,我的策略告诉我,在所有S& P复合材料中,万事达卡是表现最差的。在查看MA图表后,很明显为什么。

enter image description here

由于2014年1月22日的分割,我的数据只有-90%的单一回报!总之,回溯测试的原始密切数据可能会给你完全错误的结果。

如何处理拆分

除以拆分比率之前除以每个价格。例如,万事达卡的分割比率为1:10,因此您应该将21.01.2014之前的每个价格除以10。在数据中找到拆分非常容易,您只需要查找-50%左右的回报。

<强>股息

在分红日股息金额之前减去每个价格。为了找到分红日,你需要分红日历,你自己找不到它们。