这是大操手量化投资课堂,基础入门篇以及进阶篇的全部源码合集,现在整理出来供大家免费下载
此篇内容的源码总览请看下图:

详细源码有:基础篇的pandas,numpy内容,比如用numbpy构造行情数据,并用python的画图工具画出五日均线。

以及进阶篇的talib的使用及tushare的使用,包括布林带线计算及可视化,以及macd计算及可视化等等。
布林带线:
import tushare as ts
import pandas as pd
import mplfinance as mpf
# 获取实盘数据,000001.SZ 平安银行
from talib import abstract
# 获取数据
pro = ts.pro_api()
data = pro.daily(ts_code='000001.SZ', start_date='20200101')
data.to_csv("000001.SZ.csv")
# 数据预处理
data_new = pd.read_csv("000001.SZ.csv", usecols=['trade_date', 'open', 'high','low', 'close', 'vol'])
# 指定索引
data_new.index=pd.to_datetime(data_new['trade_date'].astype("str"))
data_new.drop(columns=['trade_date'], inplace=True)
# 指定列
data_new.columns=['open', 'high','low', 'close', 'volume']
data_new.sort_index(inplace=True)
# 计算boll
BBANDS = abstract.Function('BBANDS')
# matype:0=SMA;1=EMA;3=DEMA;4=TEMA;5=TRIMA;6=KAMA;7=MAMA;8=T3;default=0=SMA
upperband, middleband, lowerband = BBANDS(data_new.close, timeperiod = 20, nbdevup=2.0, nbdevdn=2.0, matype=0)
print("上轨:\n",upperband)
print("中轨:\n",middleband)
print("下轨:\n",lowerband)
# 画图-可视化
add_plot = [
# 上轨
mpf.make_addplot(upperband, color='y'),
# 中轨
mpf.make_addplot(middleband, color='w'),
# 下轨
mpf.make_addplot(lowerband, color='m')
]
# 指定图形属性
my_color = mpf.make_marketcolors(up='red', down='cyan', volume='blue', inherit=True)
my_style = mpf.make_mpf_style(
facecolor = 'black',
marketcolors=my_color,
gridaxis='horizontal',
gridcolor='red',
gridstyle='--',
y_on_right=False
)
mpf.plot(data_new,
addplot=add_plot,
type='candle',
style = my_style,
figratio=(1920, 1080),
figscale=1,
volume=True,
savefig='bbands_pic.png'
)

MACD指标源码:
# coding=utf-8# !/usr/bin/python"""@Author: jeevan@微信公众号: 大操手量化投资@Site: http://dacaoshou.com@Software: pycharm@File:__init__.py.py@Time:2020/10/8 9:03@Description: """import tushare as tsimport pandas as pdimport mplfinance as mpf# 获取实盘数据,000001.SZ 平安银行from talib import abstractimport numpy as np# 获取数据pro = ts.pro_api()data = pro.daily(ts_code='000001.SZ', start_date='20200101')data.to_csv("000001.SZ.csv")# 数据预处理data_new = pd.read_csv("000001.SZ.csv", usecols=['trade_date', 'open', 'high','low', 'close', 'vol'])# 指定索引data_new.index=pd.to_datetime(data_new['trade_date'].astype("str"))data_new.drop(columns=['trade_date'], inplace=True)# 指定列data_new.columns=['open', 'high','low', 'close', 'volume']data_new.sort_index(inplace=True)#MACD计算MACD = abstract.Function('MACD')DIFF, DEA, MACDHIST = MACD(data_new.close, fastperiod=12, slowperiod=26, signalperiod=9)print(np.around(DIFF, decimals=2))print(np.around(DEA, decimals=2))print(np.around(MACDHIST*2, decimals=2))#macdhist值处理ORIGIN_MACD_UP = MACDHIST*2;ORIGIN_MACD_UP[ORIGIN_MACD_UP<0]=0MACD_POS= ORIGIN_MACD_UPORIGIN_MACD_DN= MACDHIST*2;ORIGIN_MACD_DN[ORIGIN_MACD_DN>0]=0MACD_NEG= ORIGIN_MACD_DN# 画图-可视化add_plot = [ # DIFF mpf.make_addplot(DIFF, panel=2, color='fuchsia', secondary_y=True), # DEA mpf.make_addplot(DEA, panel=2, color='w', secondary_y=True), # MACDHIST#mpf.make_addplot(MACDHIST, type='bar', panel=2, color='cyan', secondary_y=True) mpf.make_addplot(MACD_POS, type='bar', panel=2, color='r', secondary_y=True), mpf.make_addplot(MACD_NEG, type='bar', panel=2, color='cyan', secondary_y=True)]# 指定图形属性my_color = mpf.make_marketcolors(up='red', down='cyan', volume='blue', inherit=True)my_style = mpf.make_mpf_style( facecolor = 'black', marketcolors=my_color, gridaxis='horizontal', gridcolor='red', gridstyle='--', y_on_right=False)mpf.plot(data_new, addplot=add_plot, type='candle', style = my_style, figratio=(1920, 1080), figscale=1.88, volume=True, main_panel=0, volume_panel=1, savefig='macd_pic.png' )

另外还有包括高管持股数据及K线的画法以及其他丰富全面的进阶篇内容,具体的请各位自己下载查看学习。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76852
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!