700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python量化交易之预测茅台股票涨跌

Python量化交易之预测茅台股票涨跌

时间:2022-01-02 15:19:07

相关推荐

Python量化交易之预测茅台股票涨跌

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

本以高难饱,徒劳恨费声。

大家好,我是Python进阶者。(文末送书)。

本文摘自清华大学出版《深入浅出Python量化交易实战》一书的读书笔记,这里把作者用KNN模式做的交易策略,换成了逻辑回归模型,试试看策略的业绩会有怎样的变化。

二话不说,上梯子,导库拉数据:

importpandasaspdimportpandas_datareader.dataaswebimportnumpyasnpfromdatetimeimportdatetime

数据甭多了,来个3年的:

end=datetime.date.today()start=end-datetime.timedelta(days=365*3)

我大A股,最牛X的股票,要说是茅台,没人反对吧?那咱搞茅台的行情数据:

owB=web.DataReader('600519.ss','yahoo',start,end)cowB.head()

拉下来本仙就惊了,1月的时候,大茅台才600多块钱啊!不过估计当时让本仙买,本仙也不敢。那时候我大A股过百的股票也没多少吧!

然后我按照书里的方法,做下特征工程:

cowB['open-close']=cowB['Open']-cowB['Close']cowB['high-low']=cowB['High']-cowB['Low']cowB['target']=np.where(cowB['Close'].shift(-1)>cowB['Close'],1,-1)cowB=cowB.dropna()cowB.tail()

然后就多了几列,target里面,1表示次日上涨,-1表示次日下跌:

下面要搞模型了:

x=cowB[['open-close','high-low']]y=cowB['target']

拆成x和y,然后请出scikit-learn:

fromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLogisticRegression

然后把数据集拆分成训练集和测试集:

x_train,x_test,y_train,y_test=train_test_split(x,y,train_size=0.8)

看看逻辑回归表现如何:

lr=LogisticRegression()lr.fit(x_train,y_train)print(lr.score(x_train,y_train))print(lr.score(x_test,y_test))

结果发现,还没有书里KNN的分数高:

0.54388984509466440.5136986301369864

逻辑回归在训练集里面的准确率是54.39%,与书里KNN的准确率基本持平;但是测试集里只有51.37%,比书里的KNN模型低了差不多3个百分点。

折腾了一圈,结果并不满意。按说逻辑回归在分类任务上的表现,应该优于KNN才对啊。难道是本仙的数据噪音太大了?还是说其实这种预测本身意义就不大呢?

最后,再为大家分享如何用Python进行炒股的仓位控制!

LOVE

宁负如来不负卿

如果有同学对本书感兴趣,可以购买并阅读原书籍

2月20日闭幕本书主要以国内A股市场为例,借助第三方量化交易平台,讲述了KNN、线性模型、决策树、支持向量机、朴素贝叶斯等常见机器学习算法在交易策略中的应用,同时展示了如何对策略进行回测,以便让读者能够有效评估自己的策略。另外,本书还讲解了自然语言处理(NLP)技术在量化交易领域的发展趋势,并使用时下热门的深度学习技术,向读者介绍了多层感知机、卷积神经网络,以及长短期记忆网络在量化交易方面的前瞻性应用。

赠书规则

如果喜欢本文

欢迎在看留言分享至朋友圈三连

赠书

按以下方式和公众号互动,即有机会获赠以上一本图书!活动方式:在公众号后台回复"送书"参与活动,届时会在参与的小伙伴中抽取1名幸运鹅!或者在本公众号后台文章留言累计300次兑换一本(PS:一篇文章留言字数至少3个字以上,如太强了、666、点个赞等等,一篇文章算留言一次,后台有数据统计的,本号有1500余篇文章,欢迎留言支持),满足留言次数也可以免费获得一本赠书,包邮哦!活动时间:截至7月6日20点(周三)开奖,不见不散。快快拉上你的小伙伴参与进来吧~让我知道你在看

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。