Eiten:为每个人打造的算法投资策略工具
在当今复杂多变的金融市场中,如何构建一个能够长期稳定盈利的投资组合是每个投资者都在思考的问题。传统的人工选股和资产配置方法往往难以应对市场的快速变化,而算法投资策略则为我们提供了一种更加科学和系统化的投资方法。
Eiten就是这样一个强大的开源算法投资工具包,它由知名量化投资公司Tradytics开发并开源,旨在为所有投资者提供先进的投资组合构建工具。无论您是个人投资者还是专业基金经理,Eiten都能帮助您构建出色的投资组合。
Eiten的主要特点
-
多种先进的投资策略:Eiten实现了多种统计和算法投资策略,包括特征组合(Eigen Portfolios)、最小方差组合(Minimum Variance Portfolios)、最大夏普比率组合(Maximum Sharpe Ratio Portfolios)以及基于遗传算法的组合。这些策略都有坚实的理论基础和良好的实证效果。
-
自定义股票池:用户可以根据自己的偏好和研究选择任意股票来构建投资组合,非常灵活。
-
严格的回测和前瞻测试框架:Eiten提供了完善的回测和前瞻测试功能,让用户可以充分评估策略的历史表现和未来潜力。
-
易于使用:尽管实现了复杂的算法,Eiten的使用却非常简单,只需几行命令就可以完成投资组合的构建和测试。
-
开源免费:作为一个开源项目,Eiten完全免费使用,用户还可以根据自己的需求进行定制和扩展。
让我们深入了解Eiten的核心功能和使用方法。
Eiten的投资策略详解
Eiten实现了四种主要的投资组合策略:
-
特征组合(Eigen Portfolios)
特征组合利用协方差矩阵的特征向量来构建投资组合。这种方法可以构建出与市场整体不相关的组合,从而获得较高的α收益。第一个特征组合通常被视为市场组合,而第二个特征组合与市场最不相关,具有最高的风险和回报。随着特征组合序号的增加,风险和回报都会逐渐降低。
-
最小方差组合(Minimum Variance Portfolio, MVP)
MVP试图最小化投资组合的方差,是一种低风险低回报的策略,适合风险厌恶型投资者。
-
最大夏普比率组合(Maximum Sharpe Ratio Portfolio, MSR)
MSR通过优化来最大化投资组合的夏普比率。这种策略在理论上可以获得风险调整后的最佳收益,但由于依赖历史数据,在未来表现可能会有所偏差。
-
基于遗传算法的组合(Genetic Algorithm based Portfolio)
这是Eiten团队自主开发的一种组合优化方法,同样以最大化夏普比率为目标,但采用了更加稳健的优化方法,通常能够产生比其他策略更稳定的投资组合。
上图展示了使用Eiten构建的不同策略投资组合的权重分配示例。我们可以看到,特征组合给予特斯拉(TSLA)较大的权重,而其他策略的权重分配则相对均匀。有趣的是,所有策略都自动学会了使用SQQQ(做空纳斯达克100指数的ETF)来对冲风险,这显示了算法的智能性。
如何使用Eiten
使用Eiten构建投资组合非常简单,主要步骤如下:
-
安装必要的Python包:
pip install -r requirements.txt
-
在
stocks/stocks.txt
文件中添加您想要分析的股票代码。 -
运行以下命令来构建和测试投资组合:
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 1 --market_index QQQ --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
这个命令会使用过去5年的每日数据(不包括最后90天)来构建投资组合,然后在最后90天的数据上进行测试,并与QQQ指数进行比较。
Eiten的实际效果
为了验证Eiten的有效性,我们来看一下它在实际数据上的表现。
回测结果
上图显示了各种策略在2015年至2020年4月的回测结果。我们可以看到:
- 遗传算法(GA)策略表现最佳,显示了其强大的优化能力。
- 特征组合(Eigen)策略波动最大,但收益也最高,主要得益于其对特斯拉的大比例持仓。
- 最小方差组合(MVP)策略波动最小,但收益也最低,符合其设计目标。
- 所有策略都显著跑赢了市场指数(黑色虚线)。
前瞻测试结果
这张图展示了2020年4月29日至9月4日的前瞻测试结果。我们可以观察到:
- 特征组合再次表现最佳,但波动性也最大。
- 遗传算法策略表现稳定,持续跑赢市场指数。
- 最小方差组合如预期般波动最小,缓慢但稳定地增长。
这些结果充分展示了Eiten各种策略的有效性,能够适应不同的风险偏好和市场环境。
Eiten的优势与局限性
优势:
-
多样化的策略选择: Eiten提供了多种投资策略,可以满足不同投资者的需求。
-
强大的回测和前瞻测试功能: 这使得投资者可以充分评估策略的历史表现和未来潜力。
-
灵活性: 用户可以自由选择股票池,调整各种参数,以适应不同的市场环境。
-
开源透明: 作为开源项目,Eiten的算法完全透明,用户可以深入了解每个策略的实现细节。
-
持续优化: 得益于活跃的开源社区,Eiten不断得到改进和优化。
局限性:
-
依赖历史数据: 像大多数量化策略一样,Eiten的策略也主要基于历史数据,在市场发生重大变化时可能需要调整。
-
需要一定的技术背景: 虽然使用简单,但要充分利用Eiten的功能,用户需要具备一定的Python和金融知识。
-
计算密集型: 某些策略(如遗传算法)可能需要较长的计算时间,特别是在分析大量股票时。
-
未考虑交易成本: 当前版本的Eiten没有将交易成本纳入考虑,这可能会影响实际交易中的表现。
结语
Eiten为投资者提供了一套强大而灵活的算法投资工具,使得构建高效的投资组合变得触手可及。无论您是个人投资者还是专业基金经理,Eiten都能为您的投资决策提供有价值的参考。
然而,我们也要记住,任何投资策略都不是万能的。市场环境瞬息万变,过去的表现并不能保证未来的收益。因此,在使用Eiten时,我们仍然需要结合自己的判断,合理控制风险,并根据市场变化及时调整策略。
Eiten的开源性质意味着它将不断evolve和改进。我们鼓励有兴趣的投资者和开发者积极参与到Eiten的开发中来,共同推动这个强大工具的进步。让我们一起探索算法投资的无限可能,为每个人创造更好的投资机会! 🚀📈
相关链接
- Eiten GitHub仓库: https://github.com/tradytics/eiten
- Tradytics官网: https://www.tradytics.com/
- Eiten社区讨论: Discord