大专毕业设计网站,宣传网站开发,偃师做网站,wordpress加上预约系统量化投资常用技能——绘图篇 1 量化投资绘图技能Python绘图库#xff1a;matplotlib绘制烛状图库#xff1a;mpl_finance 之后的博客讲解深度会逐渐提升#xff0c;将包括一下几个方面#xff1a;绘图指标公式与计算函数止盈止损策略及函数实现多策略组合选股机器学习在量化… 量化投资常用技能——绘图篇 1 量化投资绘图技能Python绘图库matplotlib绘制烛状图库mpl_finance 之后的博客讲解深度会逐渐提升将包括一下几个方面绘图指标公式与计算函数止盈止损策略及函数实现多策略组合选股机器学习在量化投资方面的应用 最后附上封装好的函数和全部代码欢迎大家关注我们我们的抖音号金融观察JRGC8888我们的微博科学量化 量化投资
随着互联网、计算机、机器学习的高速发展越来越多的产业、技术都开始了智能化转型投资理财也不例外。 量化投资在海外的发展已经有了30多年的历史其中的传奇人物数学家詹姆斯·西蒙斯管理的大奖章基金从1989到2007年间的平均年收益率高达35%即便是在次贷危机爆发的2007年该基金的回报率仍高达85%。 好的量化投资模型对我们的投资决策有着很大的辅助作用
全文先讲述各个小模块的使用文末附有有封装好的函数和完整代码 欢迎大家关注我们的抖音号”金融观察“JRGC8888上面会分析一些关注度很高的金融事件、分享一些有意思的投资者故事。也可以关注我们的微博”科学量化“ 绘图技能
Python绘图库matplotlib
在量化投资方面我们主要会使用matplotlib库的基本绘图即可 函数matplotlib.pyplot.plot([x], y, color, marker, linestyle, …) 在量化投资研究初期其他掌握color、marker(点型参数)、linestyle(线型参数) 即可。有需要时其他参数可以自己查看文档来获取
import matplotlib.pyplot as pltstork_closs [116.5, 115.2, 118.9, 125.2, 117.4, 126.6, 130.1, 135.3, 142.6, 150.9, 158.2, 149.2, 136.9]plt.plot(stork_closs, colorr, markero, linestyle--)
plt.show()绘制烛状图库mpl_finance
该部分原来是matplotlib中的一个模块现在独立出来后需要自己使用下面pip语句重新安装 pip install mpl_finance 函数mpl_finance.candlestick_ochl(ax, opens, closes, highs, lows, width4, colorup‘k’, colordown‘r’, alpha0.75) ax参数可以是 fig, ax plt.subplots(figsize) 返回的axopens、closes、highs、lows分别对应着股票每日的开盘价、收盘价、最高价、最低价width对应烛状的宽度colorup对应当日收盘价格大于开盘价格的柱状颜色价格上涨colordown对应当日收盘价格小于开盘价格的柱状颜色价格下跌alpha对应条形透明度
为了方便导入足够的数据导入数据的时候需要用到abupy这个库该库有在GitHub上面开源可以了解一下。
import abupy
from abupy import ABuSymbolPd
import mpl_finance as mpf
import matplotlib.pyplot as plt
from matplotlib.dates import date2num__colorup__ red
__colordown__ greenabupy.env.enable_example_env_ipython() # 使用沙盒数据目的是和书中一样的数据环境不使用会报错
tsla_df ABuSymbolPd.make_kl_df(usTSLA, n_folds2) # 固定导入美股tsla的行情数据n_folds2表示两年数据
tsla_df tsla_df[:50] # 选取前50个数据过多不易观察fig, ax plt.subplots(figsize(14, 7))qutotes []for index, (d, o, c, h, l) in enumerate(zip(tsla_df.index, tsla_df.open, tsla_df.close,tsla_df.high, tsla_df.low)):d date2num(d) # 蜡烛图的日期要使用matplotlib.finance.date2num进行转换为特有的数字值val (d, o, c, h, l) # 日期开盘收盘最高最低组成tuple对象valqutotes.append(val) # 加val加入qutotes# 使用mpf.candlestick_ochl进行蜡烛绘制ochl代表openclosehighlow
mpf.candlestick_ochl(ax, qutotes, width0.6, colorup__colorup__, colordown__colordown__)
ax.autoscale_view()
ax.xaxis_date()plt.show()最后输出的图像如下 该图像已经是一幅很标准的烛状图了但是在使用股票市场的软件时我们都知道在烛状图上还有几条移动平均线下一节将给大家介绍如何去画移动平均线分别采用自己定义的函数计算移动平均线数值并绘图、采用现成的开源函数绘图。
之后的博客讲解深度会逐渐提升将包括一下几个方面
绘图
指标公式与计算函数
止盈止损策略及函数实现
多策略组合选股
机器学习在量化投资方面的应用 最后附上封装好的函数和全部代码
import abupy
import matplotlib.pyplot as plt
import mpl_finance as mpf
from matplotlib.dates import date2num
from abupy import ABuSymbolPd
abupy.env.enable_example_env_ipython() # 使用沙盒数据目的是和书中一样的数据环境不使用会报错# ———————————————————— #
# ———— 默认参数设置 ———— #
# ———————————————————— #
__colorup__ red
__colordown__ greentsla_df ABuSymbolPd.make_kl_df(usTSLA, n_folds2) # 固定导入tsla的行情数据
tsla_df tsla_df[:50] # 选取前50条行情数据
# ———————————————————— #def plot_by_close(data_dftsla_df, axsNone, showFalse):绘制收盘价格图:param data_df: 输入的数据默认采用tsla的历史行情数据输入的数据类型目前只支持DataFrame类型:param axs: 是否在子图上绘制:param show: 是否显示图像:return:drawer plt if axs is None else axsdrawer.plot(data_df.close, colorr)if show:plt.show()def plot_ochl(data_dftsla_df, axsNone, showFalse):绘制烛状图:param data_df: 输入的数据默认采用tsla的历史行情数据输入的数据类型目前只支持DataFrame类型:param axs: 是否在子图上绘制:param show: 是否显示图像:return:drawer plt if axs is None else axsfig, ax drawer.subplots(figsize(14, 7))qutotes []for index, (d, o, c, h, l) in enumerate(zip(data_df.index, data_df.open, data_df.close,data_df.high, data_df.low)):d date2num(d) # 蜡烛图的日期要使用matplotlib.finance.date2num进行转换为特有的数字值val (d, o, c, h, l) # 日期开盘收盘最高最低组成tuple对象valqutotes.append(val) # 加val加入qutotes# 使用mpf.candlestick_ochl进行蜡烛绘制ochl代表openclosehighlowmpf.candlestick_ochl(ax, qutotes, width0.6, colorup__colorup__, colordown__colordown__)ax.autoscale_view()ax.xaxis_date()if show:plt.show()if __name__ __main__:plot_ochl() # 绘制烛状图会新建画布plot_by_close(showTrue) # 绘制收盘价格曲线图# 通过修改参数show的输入来控制多图绘制还是单图绘制下一节单图绘制烛状图和均线时很有用
最后输出的图像如下
欢迎大家关注我们
我们的抖音号金融观察JRGC8888
我们的微博科学量化