前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python量化交易之预测茅台股票涨跌

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

作者头像
数据STUDIO
发布2022-04-08 17:30:40
1.6K0
发布2022-04-08 17:30:40
举报
文章被收录于专栏:数据STUDIO

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

二话不说,导库拉数据:

代码语言:javascript
复制
import pandas as pd
import pandas_datareader.data as web
import numpy as np
from datetime 
import datetime

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

代码语言:javascript
复制
end = datetime.date.today()
start = end - datetime.timedelta(
                    days = 365*3)

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

代码语言:javascript
复制
owB = web.DataReader('600519.ss',
                    'yahoo',
                     start, end)
cowB.head()

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

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

代码语言:javascript
复制
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表示次日下跌:

下面要搞模型了:

代码语言:javascript
复制
x = cowB[['open-close','high-low']]
y = cowB['target']

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

代码语言:javascript
复制
from sklearn.model_selection 
import train_test_split
from sklearn.linear_model 
import LogisticRegression

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

代码语言:javascript
复制
x_train, x_test, y_train, y_test =
train_test_split(x, y, 
                 train_size = 0.8)

看看逻辑回归表现如何:

代码语言:javascript
复制
lr = LogisticRegression()
lr.fit(x_train, y_train)
print(lr.score(x_train, y_train))
print(lr.score(x_test, y_test))

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

代码语言:javascript
复制
0.54388984509466440.5136986301369864

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

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

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

http://mpvideo.qpic.cn/0bc3lqaaaaaaoyaj25qpmbrfaxgdaboaaaaa.f10002.mp4?dis_k=ce11c392f49537fd1c9a03cc390f461d&dis_t=1649410160&vid=wxv_2274959819105320960&format_id=10002&support_redirect=0&mmversion=false

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据STUDIO 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档