189 8069 5689

相似k线函数python的简单介绍

如何用python做k线形态识别

K线形态识别是比较难的一个点,难在思路上,代码都是其次。分享一下我的思路吧,通过api获取了行情信息之后(一般都是pandas.DataFrame格式,基本上都包含ohlc和volume),那么假如我需要识别十字星,那么用df['open']==df['close']把其布尔值赋值给a, 然后df['high']df['open']df['low']赋值给b。然后

成都创新互联专业网站制作、网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

for i in range(len(df)):

df['outcome']=np.where(a+b==1, 1, 0)

df[df['outcome']==1]

这样就能把所有的十字星给选出来了。

Python量化教程:不得不学的K线图「代码复制可用」

不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典、很重要的工具。在K线图中,它会绘制每天的最高价、最低价、开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助。

一般来说,我们会从各大券商平台获取K线图,但是这种情况下获得的K线图往往不能灵活调整,也不能适应复杂多变的生产需求。因此我们有必要学习一下如何使用Python绘制K线图。

需要说明的是,这里mpl_finance是原来的matplotlib.finance,但是现在独立出来了(而且好像没什么人维护更新了),我们将会使用它提供的方法来绘制K线图;tushare是用来在线获取股票数据的库;matplotlib.ticker中有个FuncFormatter()方法可以帮助我们调整坐标轴;matplotlib.pylab.date2num可以帮助我们将日期数据进行必要的转化。

我们以上证综指18年9月份以来的行情为例。

我们先使用mpl_finance绘制一下,看看是否一切正常。

可以看到,所有的节假日包括周末,在这里都会显示为空白,这对于我们图形的连续性非常不友好,因此我们要解决掉他们。

可以看到,空白问题完美解决,这里我们解释一下。由于matplotlib会将日期数据理解为 连续数据 ,而连续数据之间的间距是有意义的,所以非交易日即使没有数据,在坐标轴上还是会体现出来。连续多少个非交易日,在坐标轴上就对应了多少个小格子,但这些小格子上方并没有相应的蜡烛图。

明白了它的原理,我们就可以对症下药了。我们可以给横坐标(日期)传入连续的、固定间距的数据,先保证K线图的绘制是连续的;然后生成一个保存有正确日期数据的列表,接下来,我们根据坐标轴上的数据去取对应的正确的日期,并替换为坐标轴上的标签即可。

上边format_date函数就是这个作用。由于前边我们给dates列生成了从0开始的序列连续数据,因此我们可以直接把它当作索引,从真正的日期列表里去取对应的数据。在这里我们要使用matplotlib.ticker.FuncFormattter()方法,它允许我们指定一个格式化坐标轴标签的函数,在这个函数里,我们需要接受坐标轴的值以及位置,并返回自定义的标签。

你学会了吗?

当然,一个完整的K线图到这里并没有结束,后边我们会考虑加入均线、成交量等元素,感兴趣的同学欢迎关注哦!

怎么利用python代码绘制蜡烛线型k线图

import matplotlib.pyplot as plt

from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY,YEARLY

from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

ticker = '600028' # 600028 是"中国石化"的股票代码

ticker += '.ss'   # .ss 表示上证 .sz表示深证

date1 = (2015, 8, 1) # 起始日期,格式:(年,月,日)元组

date2 = (2016, 1, 1)  # 结束日期,格式:(年,月,日)元组

mondays = WeekdayLocator(MONDAY)            # 主要刻度

alldays = DayLocator()                      # 次要刻度

#weekFormatter = DateFormatter('%b %d')     # 如:Jan 12

mondayFormatter = DateFormatter('%m-%d-%Y') # 如:2-29-2015

dayFormatter = DateFormatter('%d')          # 如:12

quotes = quotes_historical_yahoo_ohlc(ticker, date1, date2)

if len(quotes) == 0:

raise SystemExit

fig, ax = plt.subplots()

fig.subplots_adjust(bottom=0.2)

ax.xaxis.set_major_locator(mondays)

ax.xaxis.set_minor_locator(alldays)

ax.xaxis.set_major_formatter(mondayFormatter)

#ax.xaxis.set_minor_formatter(dayFormatter)

#plot_day_summary(ax, quotes, ticksize=3)

candlestick_ohlc(ax, quotes, width=0.6, colorup='r', colordown='g')

ax.xaxis_date()

ax.autoscale_view()

plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')

ax.grid(True)

plt.title('中国石化 600028')

plt.show()


分享文章:相似k线函数python的简单介绍
网站链接:http://cdxtjz.cn/article/docdcds.html

其他资讯