“收盘秃阴线”,也称光脚阴线,既只有上影线而无下影线的阳线
众所周知,阴线的定义是:收盘价< 开盘价。所以开盘秃阴线就是开盘时最高价的阴线,收盘秃阴线就是收盘时最低价,如果时光头光脚的阴线,则既不是开盘秃阴线,也不是收盘秃阴线。
下面以乐视网为例,找出开盘秃阴线和收盘秃阴线:
代码如下:
import baostock as bs
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
def get_his_k_data(stockcode = 'sh.600000'):
login()
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data_plus(stockcode,
"date,code,open,high,low,close,preclose,volume,amount,pctChg",
start_date='2018-01-01', end_date='2018-09-13',
frequency="d", adjustflag="2")
print (rs.error_code)
#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
# 获取一条记录,将记录合并在一起
data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
print (result)
bs.logout()
return result
def find_GreenMarubozu(stockcode = 'sh.600000'):
""" 寻找出现的开盘秃阴线和收盘秃阴线 """
hisdata = get_his_k_data(stockcode)
highlist = hisdata['high'].astype('float')
lowlist = hisdata['low'].astype('float')
closelist = hisdata['close'].astype('float')
openlist = hisdata['open'].astype('float')
amountlist = hisdata['amount'].astype('float')
datelist = hisdata['date']
for i in range(len(datelist)):
if closelist[i] > openlist[i] or amountlist[i] == 0:
continue
if highlist [i] == openlist[i]:
print("%s 是开盘秃阴线,"%datelist[i]),
if lowlist[i] == closelist[i]:
print("并且是光头光脚阴线")
if lowlist[i] == closelist[i]:
print("%s 是收盘秃阴线"%datelist[i])
if __name__ == '__main__':
find_GreenMarubozu('sz.300104')
结果如下:
2018-05-09 是开盘秃阴线,
2018-05-11 是开盘秃阴线,
2018-05-24 是收盘秃阴线
2018-05-28 是开盘秃阴线,
2018-06-19 是开盘秃阴线,
2018-06-26 是开盘秃阴线,
并且是光头光脚阴线
2018-06-26 是收盘秃阴线
2018-06-27 是开盘秃阴线,
2018-07-18 是收盘秃阴线
2018-08-06 是开盘秃阴线,
并且是光头光脚阴线
2018-08-06 是收盘秃阴线
2018-08-23 是开盘秃阴线,
2018-09-13 是收盘秃阴线