python 分水嶺 技術指標

2021-08-01 11:41:35 字數 1624 閱讀 3472

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 顯示...

分水嶺演算法

分水嶺變換是一種流行的影象處理演算法,用於快速將影象分割成多個同質區域。分水嶺演算法的思想是 把影象看成乙個拓撲地貌,那麼同類區域就相當於陡峭邊緣內相對平坦的盆地。分水嶺演算法通過逐步增加水位,把地貌分割成多個部分 目前比較著名的有模擬泛洪和降水 降水 水先是匯集到海拔低的地區,慢慢填充這每乙個盆地...