LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 蜂鸟金融终端:使用Python和fbprophet分析股票市场周期

蜂鸟金融终端:使用Python和fbprophet分析股票市场周期

2020-04-30 蜂鸟数据Trochil 来源:火星财经


fbprophet简介

fbprophet是Facebook发布的开放源代码,旨在为大规模生成预测提供一些有用的指导。默认情况下,它将时间序列划分为趋势和季节性,其中可能包含每年,每周和每天。但是,分析师可以定义自己的季节性。为了更好地了解该软件包,Prophet 的文档非常有用。

封装的功能之一是其简单性和灵活性。由于我们要计算的股市周期不仅限于每年,每周或每天,因此,我们应该定义自己的周期并找出最适合数据的周期。此外,由于周末没有交易,我们不应该使用每周的季节性。我们还可以通过add_seasonality 函数定义“ self_define_cycle”。只需两行代码即可完成所有设置。

股票市场周期分析

我们可以使用2015年10月1日至2018年10月1日Costco的收盘价为例,以更好地了解我们能做什么。借助pandas_datareader,我们可以轻松获取股票价格。在图1中,我们可以看到从2015年开始价格上涨的趋势很明显。但是,上涨过程伴随很多宽幅震荡,这些都是我们想要赚钱的。

图1:Costco从2015/10/01到2018/10/01的股票价格

对于预测模型,评估它们的一种方法是样本外均方误差。我们可以使用2015/10/1到2018/3/31进行训练,并保留最近6个月的时间来测试和计算样本外均方误差。在每个周期内,我们可以通过以最低价格购买和以最高价格出售来优化回报。为了简化过程,我们使用了自定义函数cycle_analysis.。输出是一个列表,其中包含每个周期的预期收益和样本外均方误差。该功能的输入要求:

data:带有时间索引的pd.DataFrame

split_date:拆分训练和测试数据的日期

cycle:每个周期的周期(天)

mode:季节性的加法或乘法(可选,默认加法)

Forecast_plot:是否打印预测图(可选,默认为False)

print_ind:是否打印每个周期的预期收益和样本外均方误差(可选,默认为False)

在图2和图3中,我们对Costco股票价格应用了两个不同的周期长度(分别为30和300)的函数,并以2018/4/1作为训练和测试的划分日期。如我们所见,如果选择的长度太短(例如30天),那么一个周期内的收益就很小,相反,如果选择的长度太长,则需要频繁进行交易(图2;)。长时间(例如300天)会扭曲我们的预测(图3)。

图2:周期等于30天的预测图3:周期等于300天的预测

我们可以在cycle_analysis函数上应用一个循环,以计算不同周期长度的预期收益和样本外均方误差,并在图4中显示结果。我们可以看到,长度越长,每个周期的预期收益和样本外均方误差将增加。考虑到交易成本,每个周期内的预期收益应大于10美元。在这种约束下,我们可以选择导致最小样本外均方误差的周期,即252天。预计每个周期的回报为$ 17.12,样本外均方误差为15.936。两者都很好!

图4:不同周期长度的预计收益率和样本外均方误差图5:周期等于252天的预测

为了进一步说明投资策略,我们可以看到买卖日期在2015/10/1至2018/10/1之间。该Return_Dates函数可以使用输入返回所有买卖日期作为输出:

forecast:fbprophet预测对象

stock_data:具有时间索引的pd.DataFrame

cycle:周期长度

cycle_name:预测对象中循环列的名称

time_name:预测对象中时间列的名称

在2015/10/1和2018/10/1之间,我们将买卖Costco四次。总而言之,我们将花费604.56美元进行购买,并在这些特定日期出售它们时获得744.78美元作为回报。对于简化的回报率(不考虑再投资,时间价值等),三年的回报率为23.2%。可能不是很吸引人,但至少是正回报。

测试更多股票

这种方法是否能够应用到更多的股票?我们列出了Costco,Apple,Microsoft,Home Depot和Nike在每个周期内的平均购买价格,平均售价,周期长度,样本外均方误差,购买数量,销售数量和预期回报。

对于Microsoft和Nike,我们找不到符合我们要求的每个周期超过10美元的回报的周期。对于好市多(Costco),苹果(Apple)和家得宝(Home Depot),我们可以找到一个大约250天的周期,并做出良好的预测核获得温和的回报。

结论

借助Python和fbprophetpackage,我们可以更好地了解股票市场。以Costco为例,我们可以找到一个252天的周期,这样它可以产生足够的收益并具有良好的数据拟合度。根据我们发现的周期,我们可以在3年内获得约23%的回报。也许这种投资策略不能满足您的需求,但是您始终可以根据自己的知识经验来设定自己的方法。强大的fbprophet软件包可以使您对股票市场的分析更加深入和轻松。



本文来源:蜂鸟数据Trochil
原文标题:蜂鸟金融终端:使用Python和fbprophet分析股票市场周期

—-

编译者/作者:蜂鸟数据Trochil

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...