Trafalgar现在变成了Empyrial......而且还好得多 :)
Empyrial是什么?
Empyrial是一个基于Python的开源量化投资库,专门为金融机构和零售投资者服务,于2021年在Mars上正式发布。
Empyrial已经被成千上万的金融业从业人员使用,它的目标是成为一个投资组合管理、分析和优化的一体化平台。
Empyrial通过带来不同的金融方法,如风险分析、定量分析、基本面分析、因子分析和预测,增强了投资组合管理的能力。
通过Empyrial,您可以轻松地用这些不同的方法分析证券或投资组合,并从中获得最佳的洞察力。
因此,概括地说,Empyrial是:
- 多方法。 从基本面分析到定量分析和预测生成,Empyrial提供了广泛的分析方法,因此您可以从您的投资中获得最佳洞察力。
- AI和数据驱动。 Empyrial通过人工智能和数据为个人和金融机构赋能,使他们能够应对金融市场上的最大挑战。
- 灵活。 结合多个库和数据源,Empyrial可适应您的需求,因此您可以更快地开发和发展您的战略。
- 开源。 遵循最开放的MIT开源协议,您可以在Github上获得所有的项目源代码,可免费用于自己的开源项目或商业项目,并且永远免费。
但它具体是做什么的?
Empyrial由6个功能组成。
- empyrial(定量分析)。定量投资组合分析,包括风险和业绩分析
- fundlens(基本面分析)。对你的投资组合中的每一项资产进行基本面分析,使你对公司的真正价值有最好的洞察力
- 谕示。使用几种预测模型(先知、自动-ARIMA、快速傅里叶变换......)对你的投资组合进行预测。
- 优化器(投资组合优化)。访问各种优化方法(有效边界、平均变量、Black-Litterman、深度学习......),使你的投资组合更有绩效
以下两个仍在开发中。
- Risklens(风险因素分析)。 风险因素分析,让你清楚地了解如何更好地管理你的投资组合和识别多样化的机会
- 情绪透镜(事件驱动)。 利用基于情绪和新闻的市场低效率,更好地识别风险和机会
如何使用它?
首先,你将需要pip安装它。
要安装Empyrial,你应该这样做。
pip install empyrial
注意:安装时,它可能要求你重新启动运行时间。我们建议你这样做,因为有时不这样做会导致出现莫名其妙的错误......
我们正在努力改善这个问题。
Empyrial使用引擎来定义你的投资组合。
from empyrial import Engine
- start_date:你开始分析的日期。
- end_date(可选)。默认情况下,end_date等于今天的日期。你也可以手动设置它。
- 投资组合:通过在一个单一的列表中添加股票来定义你的投资组合。
- 权重:你的投资组合对每项资产的分配(例如:30%的资金在BABA上,20%在RELIANCE.NS上...)。
- 基准:为分析设置一个基准
- 优化器:优化你的投资组合(我们稍后会讨论这个问题)。
让我们从 Empyrial函数(定量分析)开始吧
from empyrial import empyrial, Engine
portfolio = Engine(
empyrial(portfolio)
输出。
Oracle(预测制作
from empyrial import oracle, Engine
portfolio = Engine(
oracle(portfolio)
输出。
Fundlens (基本面分析)
from empyrial import fundlens, Engine
portfolio = Engine(
fundlens(portfolio)
输出。
计划在这里增加内在价值和安全系数。
优化器
目前,有3个优化器可用。
- 均值-方差。"MV"
- 全球有效边际:"EF"
- 层次风险平价。"HRP"
有两种方法可以使用Empyrial的优化器。
- 直接用引擎优化分配
from empyrial import*
portfolio = Engine(
portfolio.weights
输出。
[0.31409, 0.0, 0.03472, 0.00046, 0.0, 0.0, 0.069, 0.08831, 0.00854,
注意:如果你想使用平均波动率,你将不得不定义你不想超过的最大波动率。你可以这样做。
portfolio = Engine(
2.查看一个优化器的性能
from empyrial import*
portfolio = Engine(
optimizer(portfolio, "EF")
输出。
对于平均波动率,它将是
from empyrial import*
portfolio = Engine(
optimizer(portfolio, "MV", vol_max=0.15)