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自动化办公:读取Excel数据并批量生成合同,高效办公,快速回家

    前言 在我们的工作中,面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而Python在自动化办公方面具有极大的优 势,可以解决我们工作中遇到的很多重复性问题,分分钟搞定办公需求。快速下班回家陪老婆… 一、背景 在我们经济交往中,有时会涉及到销售合同的批量制作。比如我们需要根据如下合同数据(Excel),进行批量生成销售合同 (Word)。 二、准…

    Python开发 2023年4月2日
    00
  • Python 数据分析之双色球高频数据统计

    基础数据准备 基础数据是通过爬虫获取到。 以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 Python 代码实现 分析数据特征和数据处理方式选择 python学习交流Q群:906715085### #导入Counter from collections import Counter def re…

    Python开发 2023年4月2日
    00
  • 【Python】爱不释手的弹球小游戏

    前言 周末到了,不想给大家太多的压力,今天就给大家分享一个比较简单的弹球小游戏吧。这无聊的周末又有事可以做了,nice… 先看一下我们的最终效果图 我们分9步来讲解如何写这个小游戏 1.创建游戏的主界面 我们用Python的内置模块Tkinter来完成了,它是Python的标准GUI工具包,可以非常方便在制作GUI小工具,因为是跨平台的,可以方便的在 win…

    Python开发 2023年4月2日
    00
  • 教你用python爬取美女照片,未成年不能学

    又到每天Python小技巧分享的时候了,今天给大家分享的是怎么样去爬取清纯小姐姐照片(没有人会拒绝美女吧,小声说),这篇文章好像有点刺激,未成年的小伙伴就不要进来了。快来看看这些清纯的小姐姐的容颜,话不多说,上教程。 先来看看效果图 不好意思,图片有点辣眼睛,被拦截了,还没有还给我….. import re import requests import …

    Python开发 2023年4月2日
    00
  • 用Python制作销售数据可视化看板,展示分析一步到位

    前言 在数据时代,销售数据分析的重要性已无需赘言。 只有对销售数据的准确分析我们才有可能找准数据变动(增长或下滑)的原因。 然后解决问题、发现新的增长点才会成为可能! 今天就给大家介绍一个用Python制作销售数据大屏的方法。 主要使用Python的Streamlit库、Plotly库、Pandas库进行搭建。 其中Pandas处理数据,Plotly制作可视…

    Python开发 2023年4月2日
    00
  • Python人脸识别签到考勤系统

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

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

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

    Python开发 2023年4月2日
    00
  • Python超好用的命令行界面实现工具,我保证你肯定不知道…

    前言 Click 是一个简洁好用的Python模块,它能用尽量少的代码实现漂亮的命令行界面。它不仅开箱即用、还能支持高度自定义的配 置。 官方文档:https://click.palletsprojects.com/en/8.0.x/   一个简单的示例如下: import click PYTHON插件/素材/源码加Q群:903971231#### @cli…

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