2021-09-26 机器学习预测股票涨势(一)

在上周大作业的逼迫之下被迫去学习Python,于是决定开个新坑来学一波(之前好像开过但没学)
大概这周会搞一个如题目所示东西
数据来源于天池
今天只把简单的数据进行了一下处理,具体内容在代码里写的很清楚了

# -*- coding: utf-8 -*-
"""
Created on Sun Sep 26 15:42:22 2021

Project
Predicting stock changes through machine learning

@author: zhn2021
"""

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.pyplot import MultipleLocator
#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔

from datetime import datetime
#主题设置
sns.set_style('whitegrid')
plt.style.use("fivethirtyeight")

def cout(sample):
    plt.figure()
    plt.plot(sample.date,sample.open,c='b',label='open')
    plt.plot(sample.date,sample.close,c='#C0C0C0',label='open')
    #这句不加不显示图例
    plt.legend(loc="upper right")
    
    plt.show()
    
def printf(sample):
    plt.figure()
    plt.plot(sample.date,sample.open,c='b',linewidth=2, markersize=12,label='open')
    plt.plot(sample.date,sample.close,c='#C0C0C0',linewidth=2, markersize=12, label='close')
    plt.show()
    x_major_locator=MultipleLocator(6)
    #把x轴的刻度间隔设置为1,并存在变量里
    y_major_locator=MultipleLocator(1)
    #把y轴的刻度间隔设置为10,并存在变量里
    ax=plt.gca()
    #ax为两条坐标轴的实例
    ax.xaxis.set_major_locator(x_major_locator)
    #把x轴的主刻度设置为6的倍数
    ax.yaxis.set_major_locator(y_major_locator)
    #把y轴的主刻度设置为1的倍数
    plt.ylim(43,)
    plt.legend(loc="upper right")
    #plt.legend(handles=[ln2,ln1],lables=['open','close'])
    plt.show()
    
def main():
    #读入数据并且初步看看这数据里都有啥
    file=pd.read_csv("all_stocks_5yr.csv")
    #查看总体都有啥以及前十行
    file.info()
    print(file.head(10))
    #查看几家公司
    print(file.Name.nunique())
    #求得开市日期
    open_datas=np.unique(file.date)
    print(open_datas.size)
    #获得时间
  #dates = file.date.apply(lambda x : pd.to_datetime(x, format='%Y-%m-%d', errors='ignore'))
    #得出现次数最多的几家公司
    print(file.Name.value_counts().head(5))
    
    #我们现在选择其中一家公司作为样本
    samplee=file[file.Name=='ALL']
    print(samplee.head(5))
    sample=samplee.head(50)
    
    #如果直接搞得话由于数据量大,我电脑直接跑死机了(),这里取前50天
    #先看看直接画是啥效果
    cout(sample)
    #X轴太密了,看起来非常谔谔
    #我们设置一下间隔,操作如下
    printf(sample)
    #这样我们的图就看起来体面了很多

main()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值