1 Star 0 Fork 16

小鹏/traderStock-gui

forked from macroan/traderStock-gui 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
volume.py 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
macroan 提交于 2017-08-16 17:52 . no commit message
#coding=utf-8
class Volume:
__instance = None
def __init__(self):
pass
@classmethod
def getInstance(cls):
if(cls.__instance == None):
cls.__instance = Volume()
return cls.__instance
#计算平均成交量
def set_volume_data(self, df, type=1):
if df is not None and df.shape[0] > 0:
# 分别计算5日、10日平均成交量
vol_list = [5, 10]
for vol in vol_list:
df['MAVOL' + str(vol)] = df['volume'].rolling(window=vol, center=False).mean()
df['vol_cross'] = ''
vol_position = df['MAVOL5'] > df['MAVOL10']
df.loc[vol_position[(vol_position == True) & (vol_position.shift() == False)].index, 'vol_cross'] = 'gc'
df.loc[vol_position[(vol_position == False) & (vol_position.shift() == True)].index, 'vol_cross'] = 'dc'
#df.dropna(how='any', inplace=True)#删除所有空行值的数据
return df
#金叉或死叉 gc金叉,dc死叉
def is_cross(self, df, index, crosstype='gc'):
if index < 0 or index > df.shape[0]-1:
return False
cross_ret = {'gc':df.iloc[index]['vol_cross']=='gc', 'dc':df.iloc[index]['vol_cross']=='dc'}
return cross_ret[crosstype]
#是否放量
def is_fangliang(self, df, index):
if index < 0 or index > df.shape[0]-1:
return False
return df.iloc[index]['volume'] >= df.iloc[index+1]['volume']*2.0
#是否缩量
def is_suoliang(self, df, index):
if index < 0 or index > df.shape[0]-1:
return False
return df.iloc[index]['volume']*2.0 <= df.iloc[index+1]['volume']
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/xiaopengshijie/traderStock-gui.git
git@gitee.com:xiaopengshijie/traderStock-gui.git
xiaopengshijie
traderStock-gui
traderStock-gui
master

搜索帮助