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 df
def 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:
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])
df['dma']=dma
return df
def 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 df
from windpy import*
import pandas as pd
import numpy as np
import datetime
import 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.times
df['stock_code']=stock.data[0]
#index_data['stock_code'] =symbol
df['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)
分水嶺分割
基於拓撲理論的數學形態學的分割演算法,基本思想是把影象看作是地形地貌,影象中每一點的灰度值表示該點的海拔高度,每乙個區域性極小值及其影響區域成為集水盆,集水盆的邊界則形成分水嶺。在每乙個區域性極小值表面,刺穿乙個小孔,然後慢慢把整個模型浸入水中,隨著浸入的加深,每乙個區域性極小值的影響區域慢慢向外擴...
距離 分水嶺
轉 2015年05月29日 14 07 53 mengxiaozuo 更多個人分類 影象處理 分割 針對分割,與分水嶺變換相配合的常用工具是距離變換。二值影象的距離變換是相對簡單的概念 是指從每個畫素到最接近零值的畫素的距離。例如,圖10 25 a 顯示了乙個小的二值影象矩陣。圖10 25 b 顯示...
分水嶺演算法
分水嶺變換是一種流行的影象處理演算法,用於快速將影象分割成多個同質區域。分水嶺演算法的思想是 把影象看成乙個拓撲地貌,那麼同類區域就相當於陡峭邊緣內相對平坦的盆地。分水嶺演算法通過逐步增加水位,把地貌分割成多個部分 目前比較著名的有模擬泛洪和降水 降水 水先是匯集到海拔低的地區,慢慢填充這每乙個盆地...