python-分水岭-技术指标
来源:互联网 发布:然足下卜之鬼乎的然 编辑:程序博客网 时间:2024/05/22 03:12
def get_EMA(df,N): for i in range(len(df)): if i==0: df.ix[i,'ema']=df.ix[i,'close'] if i>0: df.ix[i,'ema']=(2*df.ix[i-1,'close']+(N-1)*df.ix[i,'close'])/(N+1) return dfdef get_DMA(df): #大智慧动态移动平均,移动平均值是根据相应的指标不断变动的,a就是动态值, #假设为最低价/最高价,可以根据实际情况调整 df['ema']= get_EMA(df,10)['ema'] df['5vol']=df['volume'].rolling(window=5,min_periods=1).sum() dma=[] for i in range(len(df)): if i==0: dma.append(df.ix[i,'close']) if i>0: a=df.ix[i,'5vol']/(3*df.ix[i,'amt']) #print (a) a1=(1-a)*df.ix[i,'ema'] a2=a*float(dma[len(dma)-1]) dma.append(a1+a2) df['dma']=dma return dfdef get_FSL(df): #大智慧分水岭,在上做多,在下做空 df['sw1']=(get_EMA(df,5)['ema']*7+get_EMA(df,10)['ema']*3)/10 df['sw']=get_DMA(df)['dma'] return dffrom WindPy import*import pandas as pdimport numpy as npimport datetimeimport time#获取数据w.start(60)symbol="000001.SZ"start_date="2016-01-01"end_date="2017-05-02"stock=w.wsd(symbol, "trade_code,open,high,low,close,pre_close,\ volume,amt", start_date,end_date)df = pd.DataFrame()df['date']=stock.Timesdf['stock_code']=stock.Data[0]#index_data['stock_code'] =symboldf['open'] =stock.Data[1]df['high'] =stock.Data[2]df['low'] =stock.Data[3]df['close']=stock.Data[4]df['pre_close']=stock.Data[5]df['volume']=stock.Data[6]df['amt']=stock.Data[7]df.head()get_FSL(df)
阅读全文
0 0
- python-分水岭-技术指标
- python-技术指标-ema算法
- 技术指标
- 技术指标
- 分水岭
- python 使用分水岭算法实现走迷宫
- Python之opencv 分水岭分割算法
- python opencv入门 分水岭算法(29)
- python数字图像处理(19):骨架提取与分水岭算法
- Python学习19_骨架提取与分水岭算法
- 无线通讯技术指标
- 运算放大器技术指标
- 股票技术指标
- 技术指标-PBX
- 经典技术指标
- 技术指标:MACD
- 分水岭分割
- 分水岭算法
- Linux下压缩与解压缩
- git的使用配置
- Linux使用grep命令查找字符串
- EasyJava
- 记录weblogic安装完成后Configuration Wizard点击没有反应
- python-分水岭-技术指标
- listview与viewpager结合使用
- linux下RAR和ZIP安装和使用
- centos安装elastix2.4
- 常见端口介绍
- Mysql中文乱码问题完美解决方案
- 老鸟的职场2
- poj 3295 Tautology
- .ascx和.ashx的作用和使用