回测股票宇宙

时间:2018-12-21 02:43:43

标签: python excel stocks universe back-testing

我想通过对一系列股票进行回测来制定遵循策略的趋势;可以说所有纽约证券交易所(NYSE)或标准普尔(S&P500)股票。我今天问这个问题是因为我不确定如何处理/组织大量历史价格数据。

经过几个小时的研究,我在这里,询问您的经验和认识。非常感谢您可以就此主题分享任何信息/认识


个人经验背景:

-我知道如何编码。是电气工程专业,而不是CS专业。

-我知道如何将单个股票的股票数据引入excel。 熟悉在ThinkOrSwim上使用过滤和自定义研究。

应用上下文: 从1995年至今,我们以相对强度/动量为基础评估表现最佳的股票。我们将比较许多技术特征以制定策略。这样做的关键是拥有大量股票的数据,我们可以使用python,C#,R或任何其他编码语言对这些数据进行回测。然后,我们可以通过评估收益,欧米茄比率,超额收益中位数和技术驱动的进出交易的詹森的alpha(每周测量)来确定可能的策略。


在这里我很难确定下一步是什么:

-将所有S&P500公司的数据加载到单个excel工作簿中只是行不通的。我觉得它的数据太多,无法胜任excel。每个报价器将具有多个MB的价格数据。

-获取和存储Universe中每个报价器的价格数据的最佳方法是什么?我们在这里查看诸如SQL或Microsoft访问之类的东西吗?我不知道;我对处理此类数据没有足够的了解。你有什么想法


过去,我曾使用ToS过滤掉基于正确/错误参数的股票;但是,ToS的功能是有限的。 我想要一个更灵活的回测引擎,例如用python或C#编写的代码。不知道Rscript是否有用。 -也许那里有我不了解的图书馆会使这一切成为可能?如果有,让我知道。

我知道Quantopia和其他基于Web的Quant平台已经存在。这些是我回测的最佳选择吗?对他们有什么想法吗?


我把这个变得太复杂了吗? 在单个股票或几只股票上回测策略在excel,ToS甚至Tradingview中都不是问题。但是对于大量数据,我不确定是否最好的选择是存储该数据,然后使用python脚本或其他工具执行反向测试。


Random最终思想:-最终想探索一些AI辅助,这些AI辅助可以优化基于参数创建的策略。我知道这是一回事,但不确定从何处了解更多信息。如果您愿意,请告诉我。


谢谢你们。我希望这不是太多。如果您可以分享任何知识以增强我对该主题的认识,我将不胜感激。

Twitter:@b_gumm

1 个答案:

答案 0 :(得分:0)

EXCEL或CALC的数据量太大。即使只从S&P 500中筛选500只股票,您也将获得2,2百万行(约220天/年* 20年* 500只股票)。对于这种数据量,您应该使用MySQL这样的SQL数据库。它足以处理此数量的数据。但是您必须找到一种更新方法。如果您每天获取完整的时间序列并将其存储到数据库中,则此过程可能需要大约20分钟。 1小时。您也可以使用增量下载,但要注意公司行为(例如拆分)。

我不了解Quantopia,但是我知道类似的回测服务,去年我在其中创建了python回测脚本。结果与我预期的完全不同。研究结果是,由于数据错误,回测服务正在计算错误的结果。因此,请谨慎对待结果。

相关问题