如何获取常用序列函数(如均线)和技术指标
<h4><strong>简要说明</strong></h4>
<ul>
<li>ths_api包中包含了丰富的常用序列函数及技术指标函数。这里以调用均线函数和MACD函数为例进行说明。</li>
</ul>
<hr />
<h4><strong>1.计算均线</strong>:</h4>
<p><strong>调用格式</strong></p>
<pre><code>MA(kline, code, n, m=0)
'''
@brief 均线(移动平均线)
@param kline get_kline/reg_kline返回的周期数据
@param code 股票代码
@param n(int) 周期
@param m(int) 0-8 加权, 0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3 (Default=SMA)
@return pandas.DataFrame,包含1列:
ma 均线
'''</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 例:取'000001'平安银行的5日均线的当天均线值
from ths_api import *
code = '000001'
api = hq.ths_hq_api()
kline = api.get_kline(code, 24*60, 10) # 取'000001'的日线数据从当天往前10条,即取最近10日的日K线数据,其中,第三个参数K线条数,应大于等于下一行均线的周期数,因为计算某周期的均线,需要往前周期数个K线数据。
df = api.MA(kline, code, 5) # 获取5日均线数据
print(df, '\n')
today_ma = df.iloc[-1,0] # 取当日均线数据
print('今日的5日均线值为:', today_ma)</code></pre>
<p><strong>运行结果</strong></p>
<pre><code> ma
0 NaN
1 NaN
2 NaN
3 NaN
4 16.740
5 16.848
6 16.940
7 16.880
8 16.814
9 16.662
今日的5日均线值为: 16.662</code></pre>
<p>注:MA的输出结果中,前4个值为NaN,是因为计算这些日的均线时,没有足够的当日及以前4日的K线数据。</p>
<hr />
<h4><strong>2.计算MACD</strong>:</h4>
<p><strong>调用格式</strong></p>
<pre><code>MACD(kline, code, short=12, long=26, m=9)
'''
@brief 指数平滑异同平均线,根据短期、长期移动平均线的差离情况预判买卖股票时机
DIFF = 12日EMA - 26日EMA
DEA = DIFF的9日EMA
hist = 2*(DIFF - DEA)
@param kline:get_kline/reg_kline返回的周期数据
@param code:股票代码
@param short(int):短周期
@param long(int):长周期
@param m(int):移动平均线的周期
@return pandas.DataFrame,包含3列:
dif 差离值
dea 指数加权移动平均线
hist macd的柱状线
'''</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 例:取'000001'平安银行的日线周期的当天MACD柱状线值
from ths_api import *
code = '000001'
api = hq.ths_hq_api()
kline = api.get_kline(code, 24*60, 100) # 取'000001'的日线数据从当天往前100条,即取最近100日的日K线数据,第三个参数K线条数取100时,计算出的MACD各参数和同花顺行情的MACD指标数值基本一致,取其它值时可能会出现一定偏差。
df = api.MACD(kline, code, short=12, long=26, m=9)
print(df, '\n')
today_macdhist = df.iloc[-1,2]
print('今日的日线MACD柱状线值为:', today_macdhist)</code></pre>
<p><strong>运行结果</strong></p>
<pre><code> dif dea hist
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
6 NaN NaN NaN
7 NaN NaN NaN
8 NaN NaN NaN
9 NaN NaN NaN
10 NaN NaN NaN
11 NaN NaN NaN
12 NaN NaN NaN
13 NaN NaN NaN
14 NaN NaN NaN
15 NaN NaN NaN
16 NaN NaN NaN
17 NaN NaN NaN
18 NaN NaN NaN
19 NaN NaN NaN
20 NaN NaN NaN
21 NaN NaN NaN
22 NaN NaN NaN
23 NaN NaN NaN
24 NaN NaN NaN
25 NaN NaN NaN
26 NaN NaN NaN
27 NaN NaN NaN
28 NaN NaN NaN
29 NaN NaN NaN
.. ... ... ...
70 0.106341 0.118028 -0.023375
71 0.115708 0.117564 -0.003712
72 0.110560 0.116163 -0.011206
73 0.106065 0.114144 -0.016158
74 0.110907 0.113496 -0.005179
75 0.095089 0.109815 -0.029452
76 0.064860 0.100824 -0.071927
77 0.053999 0.091459 -0.074920
78 0.079176 0.089002 -0.019653
79 0.137885 0.098779 0.078213
80 0.185502 0.116123 0.138757
81 0.204740 0.133847 0.141787
82 0.262950 0.159667 0.206565
83 0.302368 0.188208 0.228321
84 0.344962 0.219558 0.250808
85 0.349673 0.245581 0.208184
86 0.398040 0.276073 0.243934
87 0.435387 0.307936 0.254903
88 0.458888 0.338127 0.241524
89 0.517541 0.374009 0.287064
90 0.590303 0.417268 0.346070
91 0.637393 0.461293 0.352199
92 0.635911 0.496217 0.279389
93 0.620324 0.521038 0.198571
94 0.585886 0.534008 0.103756
95 0.582541 0.543714 0.077653
96 0.535789 0.542129 -0.012681
97 0.495447 0.532793 -0.074691
98 0.491698 0.524574 -0.065751
99 0.483956 0.516450 -0.064989
[100 rows x 3 columns]
今日的日线MACD柱状线值为: -0.06498901182746075</code></pre>