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

前言

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

试看策略的业绩会有怎样的变化。

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

Python学习交流Q群:906715085###
import pandas as pd
import pandas_datareader.data as web
import numpy as np
from datetime 
import datetime

 

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

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

 

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

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

 

拉下来本仙就惊了,2019年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:

from sklearn.model_selection 
import train_test_split
from sklearn.linear_model 
import LogisticRegression

 

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

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

 

看看逻辑回归表现如何:

Python学习交流Q群:906715085###
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进行炒股的仓位控制!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python量化交易之预测茅台股票涨跌 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python人脸识别签到考勤系统

    前言 本项目为IOT实验室人员签到考勤设计,系统实现功能: ◦人员人脸识别并完成签到/签退 ◦考勤时间计算 ◦保存考勤数据为CSV格式(Excel表格) PS:本系统2D人脸识别,节约了繁琐的人脸识别训练部分,简洁快捷 该项目为测试版,正式版会加入更多的功能,持续更新中… 测试版项目地址我会放到结尾 项目效果图 登陆界面 主界面展示图: 签到功能展示 签退功…

    Python开发 2023年4月2日
    00
  • Python 视频制作神器 — Manim入门篇

    今天分享一篇文章,是关于如何使用 Manim 这个工具 Python 工具库来制作视频的。 据我所知,目前应该是没有专门的书籍和教程来介绍这个工具的。至于教程,不同版本的Manim有一部分文档,其中 Manim社区 版的文档相对而言要完善些。 本次仅介绍 Manim 中 文本 的使用,使用的版本为 Manim Community v0.14.0,本文内容主要…

    Python开发 2023年4月2日
    00
  • 用Python制作爆款视频,太绝了

    前言 前几天小编在抖音上刷到一个慢慢变老的视频,播放量居然有 30W+,当时就在想这视频 Python 可不可以做?经过一番搜索,小编找到了 腾讯云的人脸年龄变化 API,上面介绍说只要用户上传一张人脸图片,基于人脸编辑与生成算法,就可以输出一张人脸变老或变年轻的图 片,并支持实现人脸不同年龄的变化。 准备工作 获取 API 秘钥 第一步,在注册账号之后,打…

    Python开发 2023年4月2日
    00
  • 5个节约生命的Python小技巧

    前言 Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加 简短精悍。根据我的经验,下面介绍常用的5个Python小技巧: •字符串操作 •列表推导 •lambda 及 map() 函数 •if、elif和else单行表达式 •zip()函数 1.字符串操作 ###python#### p…

    Python开发 2023年4月2日
    00
  • Python之B站视频获取

    前言 有没有小伙伴喜欢看B站小姐姐视频的,没有人不喜欢美女吧。今天教大家如何爬取美女的视频,快来学 起来… 由于这里下载的都是高清视频 最低30Mb 最高超百Mb 代码 python学习交流Q群:906715085### # -*- coding: utf-8 -*- “”” import requests # 工具箱、网络请求方法 import json …

    Python开发 2023年4月2日
    00
  • 用Python做了个图片识别系统(附源码)

    本项目将使用python3去识别图片是否为色情图片,会使用到PIL这个图像处理库,并且编写算法来划分图像的皮肤区域 介绍一下PIL: PIL(Python Image Library)是一种免费的图像处理工具包,这个软件包提供了基本的图像处理功能,如:改变图像大小,旋转 图像,图像格式转化,色场空间转换(这个我不太懂),图像增强(就是改善清晰度,突出图像有用…

    Python开发 2023年4月2日
    00
  • Python 最有用的25个代码段

    前言 Python是一种通用的高级编程语言。用它可以做许多事,比如开发桌面 GUI 应用程序、网站和 Web 应用程序等。 作为一种高级编程语言,Python 还可以让你通过处理常见的编程任务来专注应用程序的核心功能。并且,编程语言的简单语法规 则进一步简化了代码库的可读性和应用程序的可维护性。 与其他编程语言相比,Python 的优势在于: 1.与主要平台…

    Python开发 2023年4月2日
    00
  • Python—-异常处理、断言和路径处理,简单、清晰版

    1.路径处理 1.找模块:sys.path import sys print(sys.path)   – 1.理解 – 1.是python去查找包或模块 – 2.项目开始根目录,python内置的目录 – 3.虽然说python的安装目录下也可以存放我们写的模块,但是不建议(太多了,不大好找) – 4.如果以后你发现模块导入不了了 ,可以使用下sys.pat…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部