日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何使用Python判斷牛熊

本文轉(zhuǎn)載自微信公眾號(hào)「區(qū)塊鏈研究實(shí)驗(yàn)室」,作者鏈三豐。轉(zhuǎn)載本文請(qǐng)聯(lián)系區(qū)塊鏈研究實(shí)驗(yàn)室公眾號(hào)。

有許多方法可以判斷誰(shuí)是公牛還是空頭,而艾達(dá)透視指標(biāo)的“牛熊力量指標(biāo)”就是其中的一種,它使用簡(jiǎn)單的公式來(lái)近似估算這種隱含的技術(shù)實(shí)力。今天,我們將對(duì)指標(biāo)進(jìn)行編碼和回測(cè),然后從客觀的角度對(duì)其進(jìn)行判斷。

創(chuàng)建牛市和熊市實(shí)力指數(shù)

上古雷指數(shù)MEAs數(shù)字購(gòu)銷(xiāo)壓力量和兩個(gè)柱狀圖,其中一個(gè)就是所謂的多頭力量和其他的空頭力量的。直方圖是根據(jù)以下公式計(jì)算的:

EMA變量指的是指數(shù)移動(dòng)平均線,它是一種移動(dòng)平均線,將更多的權(quán)重放在最近的值上。

可以使用以下功能來(lái)計(jì)算指數(shù)移動(dòng)平均值:

 
 
 
 
  1. def ma(Data, lookback, what, where):
  2.     
  3.     for i in range(len(Data)):
  4.       try:
  5.         Data[i, where] = (Data[i - lookback + 1:i + 1, what].mean())
  6.         
  7.             except IndexError:
  8.                 pass
  9.     return Data
  10. def ema(Data, alpha, lookback, what, where):
  11.     
  12.     # alpha is the smoothing factor
  13.     # window is the lookback period
  14.     # what is the column that needs to have its average calculated
  15.     # where is where to put the exponential moving average
  16.     
  17.     alpha = alpha / (lookback + 1.0)
  18.     beta  = 1 - alpha
  19.     
  20.     # First value is a simple SMA
  21.     Data = ma(Data, lookback, what, where)
  22.     
  23.     # Calculating first EMA
  24.     Data[lookback + 1, where] = (Data[lookback + 1, what] * alpha) + (Data[lookback, where] * beta)        
  25.     # Calculating the rest of EMA
  26.     for i in range(lookback + 2, len(Data)):
  27.       try:
  28.         Data[i, where] = (Data[i, what] * alpha) + (Data[i - 1, where] * beta)
  29.         
  30.             except IndexError:
  31.                 pass
  32.     return Data

第一個(gè)面板中的EURUSD和50周期的牛熊指標(biāo)

上面顯示了EURUSD每小時(shí)數(shù)據(jù),第二個(gè)面板中有50個(gè)周期的牛熊指標(biāo)。在繼續(xù)執(zhí)行指標(biāo)代碼之前,我們必須編寫(xiě)兩個(gè)簡(jiǎn)單的函數(shù):

 
 
 
 
  1. def deleter(Data, index, times):
  2.     
  3.     for i in range(1, times + 1):
  4.     
  5.         Data = np.delete(Data, index, axis = 1)return Data
  6.    
  7. def jump(Data, jump):
  8.     
  9.     Data = Data[jump:, ]
  10.     
  11.     return Data

現(xiàn)在,我們準(zhǔn)備好代碼了。記住要準(zhǔn)備好OHLC陣列。

 
 
 
 
  1. def bull_bear_power(Data, lookback, what, high, low, where):
  2.     
  3.     # Adding the required columns
  4.     Data = adder(Data, 3)
  5.     
  6.     # Calculating the exponential moving average
  7.     Data = ema(Data, 2, lookback, what, where)    
  8.     
  9.     # Calculating the Bull Power
  10.     Data[:, where + 1] = Data[:, high] - Data[:, where]
  11.     
  12.     # Calculating the Bear Power
  13.     Data[:, where + 2] = Data[:, where] - Data[:, low]
  14.     
  15.     # Deleting initial empty rows
  16.     Data = jump(Data, lookback)
  17.     
  18.     return Data

USDCHF位于第一個(gè)面板中,并且是50周期的牛熊指標(biāo)。

要對(duì)上面的圖表進(jìn)行編碼,我們可以使用以下函數(shù):

 
 
 
 
  1. def indicator_plot_double_bull_bear(Data, name = '', name_ind = '', window = 250):
  2.   fig, ax = plt.subplots(2, figsize = (10, 5))
  3.   Chosen = Data[-window:, ]
  4.     
  5.   for i in range(len(Chosen)):
  6.         
  7.     ax[0].vlines(x = i, ymin = Chosen[i, 2], ymax = Chosen[i, 1], color = 'black', linewidth = 1)  
  8.    
  9.   ax[0].grid()
  10.   for i in range(len(Chosen)):
  11.         
  12.     ax[1].vlines(x = i, ymin = 0, ymax = Chosen[i, 6], color = 'green', linewidth = 1)
  13.     ax[1].vlines(x = i, ymin = Chosen[i, 7], ymax = 0, color = 'red', linewidth = 1)  
  14.             
  15.   ax[1].grid() 
  16.   ax[1].axhline(y = 0, color = 'black', linewidth = 0.5, linestyle = '--')
  17. # The above code considers columns 6 and 7 to inhibit Bull Power and Bear Power respectively.

回測(cè)簡(jiǎn)單策略

與任何適當(dāng)?shù)难芯糠椒ㄒ粯?,其目的是?duì)指標(biāo)進(jìn)行回測(cè),并能夠自己查看是否值得將其作為我們先前存在的交易框架的補(bǔ)充。請(qǐng)注意,以下內(nèi)容僅對(duì)過(guò)去10年中僅對(duì)10個(gè)貨幣對(duì)的一個(gè)時(shí)間范圍進(jìn)行回測(cè)。這可能不是該策略的最佳時(shí)限,但我們只是試圖找到一種“一刀切”的“幾乎適合所有人”的策略。

條件已簡(jiǎn)化,我們將基于主觀障礙使用逆勢(shì)方法:

  • 當(dāng)牛市力量指標(biāo)達(dá)到-0.001并且前兩個(gè)值大于0.001時(shí),做多(買(mǎi)入)。保持該位置,直到收到新信號(hào)(該位置已關(guān)閉)。
  • 每當(dāng)熊市力量指標(biāo)達(dá)到0.001(前兩個(gè)值均低于0.001)時(shí),做空(賣(mài)出)。保持該位置,直到收到新信號(hào)(該位置已關(guān)閉)。

歐元兌美元的信號(hào)圖。

 
 
 
 
  1. def signal(Data, bull_power, bear_power, buy, sell):
  2.     
  3.   for i in range(len(Data)):
  4.     if Data[i, bull_power] < lower_barrier and Data[i - 1, bull_power] > lower_barrier :
  5.         Data[i, buy] = 1
  6.             
  7.     if Data[i, bear_power] < lower_barrier and Data[i - 1, bear_power] > lower_barrier:
  8.         Data[i, sell] = -1

USDCHF上的信號(hào)圖

根據(jù)自2010年以來(lái)按小時(shí)數(shù)據(jù)散布的0.5個(gè)基點(diǎn)得出的結(jié)果,并且沒(méi)有采用風(fēng)險(xiǎn)管理算法,得出的結(jié)果如下。

效果表

遵循該策略的股權(quán)曲線

顯然,該指標(biāo)并沒(méi)有增加價(jià)值。嘗試優(yōu)化甚至更改與之相關(guān)的策略可能會(huì)更好。我們可能可以添加一些熊市條件來(lái)驗(yàn)證看漲信號(hào),并添加一些牛市條件來(lái)驗(yàn)證看跌信號(hào)。

我們還可以相應(yīng)地調(diào)整回溯和障礙。我們可以做的最后一件事是將策略從逆勢(shì)轉(zhuǎn)變?yōu)樽裱厔?shì)。

結(jié)論

記住要經(jīng)常做背部測(cè)試。即使我提供了指標(biāo)的功能(而不只是吹牛說(shuō)它是圣杯,并且它的功能是秘密),您也應(yīng)該始終相信其他人是錯(cuò)誤的。我的指標(biāo)和交易風(fēng)格對(duì)我有用,但可能并非對(duì)每個(gè)人都適用。我依靠以下規(guī)則:

市場(chǎng)價(jià)格在超過(guò)50%的時(shí)間內(nèi)無(wú)法預(yù)測(cè)或很難預(yù)測(cè)。但是市場(chǎng)反應(yīng)是可以預(yù)測(cè)的。

意思是,我們可以在一個(gè)區(qū)域周?chē)纬梢粋€(gè)小區(qū)域,并可以確信地說(shuō)市場(chǎng)價(jià)格將對(duì)該區(qū)域周?chē)膮^(qū)域產(chǎn)生反應(yīng)。但是我們不能真正說(shuō)它會(huì)從那里下跌4%,然后再次測(cè)試,并在第三次嘗試跌至103.85美元時(shí)突破。由于我們預(yù)測(cè)過(guò)度,因此誤差項(xiàng)呈指數(shù)級(jí)增長(zhǎng)。


網(wǎng)頁(yè)題目:如何使用Python判斷牛熊
當(dāng)前地址:http://m.5511xx.com/article/coccpcs.html