zwPython.com研习社

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1043|回复: 0

AI算力陷阱,Prophet工程案例实测

[复制链接]

233

主题

240

帖子

5501

积分

超级版主

Rank: 8Rank: 8

积分
5501
发表于 2020-8-4 09:13:06 | 显示全部楼层 |阅读模式
TOP极宽《AI算力陷阱》系列,参见:
AI算力陷阱,Prophet工程案例实测 http://www.topquant.vip/?p=1127
AI算力陷阱#2,资金陷阱 http://www.topquant.vip/?p=1137
AI算力陷阱3,AI智能投顾,目前全世界没有一家成功的案例 http://www.topquant.vip/?p=1439
AI算力陷阱4:automl傻瓜式神经网络与金融量化 http://www.topquant.vip/?p=1564
AI算力陷阱5:GPT-3与AI算力陷阱 http://www.topquant.vip/?p=1829
-------------
AI算力陷阱,Prophet工程案例实测
【zw,2019-4-23 ps 】
现在说 ai交易 全部是骗子 我是用量化回测 辅助分析
太长了,干脆独立成文:AI算力陷阱#2,资金陷阱 http://www.topquant.vip/?p=1137
ps,当然也可以吃采用zw的LAN模型,不过这个还在摸索当中:《中华大字库》CBF2018:比GAN快一万倍的AI工程案例 – 极宽 http://www.topquant.vip/?p=1125


在和网友互动时,我经常说,现在AI、神经网络在金融量化方面的应用,还处于黑暗摸索阶段。
这其中,最重要的原因就是算力陷阱。
一个alphaGo,需要的参数超过有一亿个,而且围棋是受限模型。
最近,逼着使用Facebook旗下的Prophet,对dash-usdt数字货币,做了个简单测试。
因为Prophet0.4安装冲突,我们使用的是对标替代产品pmprophet,这两个语法基本完全相同,pmprophet理论上更加灵活、强大。
因为是简单的案例,所以没有采用Prophet进行复核,有兴趣的网友可以自己测试。
这个案例,基于dash-usdt交易对的45天15分钟分时数据(20190301–20190414),才4306条简化数据,就两个字段:tim+close
一个最简单的Prophet自动拟合模型,建模需要11个小时,i7-cpu平台
CBF2018不管如何,是个已经实现的工程案例,希望CBF2018这个案例,能够给AI智能投顾的应用带来一些启发。
文后是对应的输出信息,核心是这一条:
INFO:pymc3:>Metropolis: [sigma_model]
0%| | 1/2500 [00:15<11:05:24, 15.98s/it]
建模需要11个小时

案例输出信息:
df 4306
ds y
140745 2019-03-01 00:00:00 4.420
140746 2019-03-01 00:15:00 4.420
140747 2019-03-01 00:30:00 4.410
140748 2019-03-01 00:45:00 4.410
140749 2019-03-01 01:00:00 4.410
140750 2019-03-01 01:15:00 4.410
140751 2019-03-01 01:30:00 4.410
140752 2019-03-01 01:45:00 4.410
140753 2019-03-01 02:00:00 4.410
140754 2019-03-01 02:15:00 4.410
ds y
145041 2019-04-14 18:00:00 4.790
145042 2019-04-14 18:15:00 4.790
145043 2019-04-14 18:30:00 4.790
145044 2019-04-14 18:45:00 4.790
145045 2019-04-14 19:00:00 4.790
145046 2019-04-14 19:15:00 4.800
145047 2019-04-14 19:30:00 4.800
145048 2019-04-14 19:45:00 4.800
145049 2019-04-14 20:00:00 4.800
145050 2019-04-14 20:15:00 4.790
len-DF: 4306
WARNING:root:Note that the automatic changepoint feature is experimental
Sequential sampling (1 chains in 1 job)
INFO:pymc3:Sequential sampling (1 chains in 1 job)
CompoundStep
INFO:pymc3:CompoundStep
>Metropolis:
INFO:pymc3:>Metropolis:
>Metropolis: [intercept_model]
INFO:pymc3:>Metropolis: [intercept_model]
>Metropolis: [cgpt_inner]
INFO:pymc3:>Metropolis: [cgpt_inner]
>Metropolis: [beta]
INFO:pymc3:>Metropolis: [beta]
>Metropolis: [alpha]
INFO:pymc3:>Metropolis: [alpha]
>Metropolis: [growth_model]
INFO:pymc3:>Metropolis: [growth_model]
>Metropolis: [sigma_model]
INFO:pymc3:>Metropolis: [sigma_model]
0%| | 1/2500 [00:15<11:05:24, 15.98s/it]
核心代码很短,参见最后:
#
tim0,tim9='2019-03-01','2019-04-15'
fss=rs0+'dashusdt_poloniex.csv'
xdf = pd.read_csv(fss, index_col=False)
xdf.sort_values('tim',ascending=True,inplace=True) #True:正序
xdf=tq.df_kcut8tim(xdf,tim0,tim9,ksgn='tim')
#tq.prDF(xdf,'xdf')
#
df=pd.DataFrame()
df['ds']=xdf['tim']
df['y']=np.log(xdf['close'])
#df = df.head(180)
tq.prDF(df,'df')
#
m = PMProphet(df, auto_changepoints=True, growth=True, intercept=True, name='model')
m.fit(method=Sampler.METROPOLIS, draws=2000,chains=1)
df9 = m.predict(60, alpha=0.2, include_history=True, plot=True)
m.plot_components(intercept=False,)
tq.prDF(df9,'df9')
df9.to_csv('tmp\ddf090.csv')


【极宽QQ群】
群号:1057170501 ,zwPython.com学习QQ群,面向py初学者和大众小白用户。
群号:124134140,TOP极宽金融量化,三千人超大QQ群,面向专业金融实盘用户。
群号:699266891,TFB极宽足球大数据QQ群
群号:790548107,FASTAI智能量化QQ群。
【微信公众号】
请大家关注TOP极宽量化公众号,大量原创Python量化技术
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|zwPython.com研习社

GMT+8, 2022-7-3 02:26 , Processed in 0.018381 second(s), 4 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表