在使用 mplfinance 时,我们可以通过设置参数 style 来获得多种图像风格。 style参数常用的内置样式有:'bias'、'blueskies'、'brasil'、'charles'、'checkers'、'classic'、'default'、'mike'、'nightclouds'、' sas'、'星星和弦乐'、'雅虎'。

这些内置样式很多都遵循美股的习惯。红色表示下降,韭菜(绿色)表示上升。这与我们的 A 股展示习惯正好相反。

当这些风格不能满足我们的需求,或者我们有更多美丽的灵感和创作时,我们也可以定义自己的风格。

我们使用 MPF make_mpf_style() 函数来设置一个新的样式,然后将它传递给 MPF 只需使用 style plot() 的参数即可。

第一步是照常提取数据:

# 将牧源股份(002714.SZ)的股价数据从途共享传输过来

导入 tushare 作为 ts

将熊猫导入为 pd

将 mplfinance 导入为 mpf

token u003d 'Your token' # 输入你的接口密钥、访问方式和相关权限。见图享官网。

pro u003d ts.pro_api(令牌)

df u003d pro.daily(ts_codeu003d'002714.SZ')

然后将DataFrame对象处理成适合我们使用的格式

df u003d df.loc[:, ['trade\date', 'open', 'high', 'low', 'close', 'volume']]

df.重命名(

列u003d{

'trade_date': '日期', '开盘': '开盘',

“高”:“高”,“低”:“低”,

'close': '关闭', 'vol': '音量'},

inplaceu003dTrue) # 重新定义列名,方便统一规范操作。

df['Date'] u003d pd.to_datetime(df['Date']) # 转换日期列的格式,方便绘图

df.set_index(['Date'], inplaceu003dTrue) # 日期列作为行索引

df u003d df.sort_index() # 倒序,因为Tushare的数据是最近交易日的数据,显示在DataFrame上方。逆序可以保证映射时X轴的时间序列从左到右递增。

第二步,使用MPF make_Marketcolors()函数设置K线的颜色信息。此设置的结果将作为参数传递给 MPF,稍后 make_ mpf_ Style() 以设置自定义样式。

mc u003d mpf.make_marketcolors(

upu003d"red", # 上升K线颜色

downu003d"green", # 下降K线颜色

edgeu003d"black", # 蜡烛盒颜色

volumeu003d"blue", # 交易量栏颜色

wicku003d"black" # 蜡烛图中阴影线的颜色

)

还有一个参数叫alpha,设置烛台面,取值在0.1-1之间。此设置是 K 线蜡烛的颜色深度。例如,当 alpha 设置为 0.6 时,红色蜡烛变得接近橙色。绿色变成翠绿色。只需尝试并根据您的感官进行选择。

mc设置好后,我们将其传递给MPF make_mpf_style()的marketcolors参数,来设置自定义样式。

第三步,设置自定义样式。

使用 MPF make_ mpf_ 样式函数有以下参数:

  • base_mpf_style:继承内置样式。如果你不想继承,你不需要设置它。我们这里不设置,只靠自定义。

  • mavcolors 设置移动平均线样式,必须使用list参数

  • facecolor 设置前景色(坐标系颜色)

  • edgecolor 设置边框样式

  • figcolor 设置图像外围的填充颜色

  • gridcolor 设置网格线的颜色

  • gridaxis 设置网格线的方向。两个方向都是“水平的”水平和“垂直的”

  • gridstyle 设置网格线类型,例如

'-'/'solid', '-'/'dashed', '-.'/'dashdot', ':'/'dotted', None/' '/''

  • y_on_right 设置y轴位置是否在右边

  • rc 使用 rcParams 的 dict 设置风格。如果内容和上面自定义设置一样,自定义设置会覆盖rcParams设置

这个参数通常写成:

rcu003d{'font.family': 'SimHei', 'axes.unicode_minus': 'False'}

用于解决mplfinance库生成的负数图像中文乱码和不显示的问题。

  • marketcolors是我们上一步定义的K线的属性。把它传进去。

s u003d mpf.make_mpf_style(

gridaxisu003d'两者',

gridstyleu003d'-.',

y_ on_ rightu003d真,

市场颜色u003dmc,

边缘颜色u003d'b',

figcoloru003d'r',

脸色u003d'y',

网格颜色u003d'c')

第四步:开始使用 MPF Plot() 在上面设置的样式中绘制和传递

mpf.plot(df.loc['2020-11': '2020-12'], typeu003d'candle', ylabelu003d"price", styleu003ds, titleu003d'A_stock-牧原2020- Nov&Dec_candle_line', mavu003d(5, 10), volumeu003dTrue, ylabel_loweru003d"volume(shares)")

最终效果如图:

呃......找了半天,好像mplfinance库有个缺点。

源码找了半天没找到可以自定义背景图片的图片参数,

也许考虑到财务量化不需要第二个维度。

这对于二次元宅来说无疑是一个不小的打击。

算了,Matplotlib 虽然pyplot的句子比较长,但是还是很不错的,哈哈哈。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐