本人理工男一枚,搞优化的,在股市的日益炒作下,让我也想入股了,可惜穷,买了点股票,也挣了点,不过也就是几千。最近更穷了,没有闲钱,所以只能先做做理论分析分析了。
看了不少书(当然,没看完),对蜡烛图倒是有点感兴趣,想着按着理论书上的编个代码试试看(我比较懒,懒得天天看股票,就想整个软件偷偷懒)。想着,先把蜡烛图整明白,编一编什么“酒田战法”啊、金叉死叉的,以后再上一些其他策略,包括选股、买入卖出啊什么的。当然,理想是美好的,而我是懒惰的,慢慢整策略,弄好之后也不一定就是对的,就能挣钱,再不济,就是锻炼锻炼写代码的能力吧。好了,废话不多说,进入今天的整体——每日股票数据的下载+图形绘制。
对数据进行处理、分析,再根据已有信息进行预测、优化、提供方案,首先第一步便是数据,因此本次给大家说一下数据的下载,直接干货。
软件:Python3.7
所需库: tushare 1.2.60
pandas 0.23.4
matplotlib 3.0.2
numpy 1.18.5
mplfinance 0.12.7a0
datetime 5.2.0
import tushare as ts
import pandas as pd
import matplotlib
import numpy as np
import mplfinance as mpf
from datetime import datetimepro = ts.pro_api()
df = pro.daily(ts_code=' 600519 ', start_date='20100901')
df.to_csv('000001.SZ.csv')
# 画图
matplotlib.use('tkagg') # 将图窗口化
df['date'] = df['trade_date'].apply(lambda x: datetime.strptime(x, '%Y%m%d'))
data = df.loc[:, ['date', 'open', 'close', 'high', 'low', 'vol']]
data = data.rename(columns={"vol": "volume"})
data.set_index('date', inplace=True)
data.index.name = "Date"
data.index = pd.DatetimeIndex(data.index)
mc = mpf.make_marketcolors(up='r', down='g')
s = mpf.make_mpf_style(marketcolors=mc, mavcolors=['#4f8a8b', '#fbd46d', '#87556f'])
mpf.plot(data, type='candle', volume=True, show_nontrading=True, figratio=(20, 10), mav=(5, 10, 15), style=s)