最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

赫茲股票量化交易軟件:利用箱形圖(Boxplot)探索金融時間序列的季節(jié)性形態(tài)

2023-07-13 15:40 作者:大牛啊呢  | 我要投稿

在價格增幅中搜索季節(jié)性形態(tài)

我們可以巡復(fù)合期研究常規(guī)周期。 我們來觀察一個金融產(chǎn)品每月波動的研究示例。 為此目的,我們將 IPython 語言和 赫茲股票量化軟件終端結(jié)合利用。

為了從終端直接導(dǎo)入報價更加容易,我們會用到以下代碼:

from MetaTrader5 import * from datetime import datetime import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline import seaborn; seaborn.set() # Initializing MT5 connection MT5Initialize("C:\\Program Files\\MetaTrader 5\\terminal64.exe") MT5WaitForTerminal() print(MT5TerminalInfo()) print(MT5Version())

指定您的終端路徑,該路徑可能與我的不同。

加入更多行來開始分析:

rates = pd.DataFrame(MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_D1, datetime(2010, 1, 1), datetime(2020, 1, 1)), ???????????????????? columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume']) # leave only 'time' and 'close' columns rates.drop(['open', 'low', 'high', 'tick_volume', 'spread', 'real_volume'], axis=1) # get percent change (price returns) returns = pd.DataFrame(rates['close'].pct_change(1)) returns = returns.set_index(rates['time']) returns = returns[1:] returns.head(5) Monthly_Returns = returns.groupby([returns.index.year.rename('year'), returns.index.month.rename('month')]).mean() Monthly_Returns.boxplot(column='close', by='month', figsize=(15, 8))

變量?rates?接收含有指定時間間隔(例如,在本示例中為 10 年)內(nèi)的價格數(shù)據(jù)幀。 假設(shè)我們只對收盤價感興趣(以此簡化往后的解釋)。 我們利用 rates.drop() 方法刪除不必要的數(shù)據(jù)列。赫茲股票量化軟件

隨時間和形勢趨勢變化,價格距均值會有偏移,因此統(tǒng)計分析不適用于此類原始序列。 百分比計量價格變化(價格增幅)通常在計量經(jīng)濟學中使用,以確保它們都位于相同的數(shù)值范圍內(nèi)。 可以利用?pd.DataFrame(rates['close'].pct_change(1))?方法接收百分比變化。

我們需要平均每月價格范圍。 我們來安排表格,以便接收按年增幅的月度平均值,并將其顯示在箱形圖中。


圖例 1. 月度平均價格增幅,覆蓋 10 年。

什么是箱形圖,以及如何解釋它們?

我們需要訪問選定區(qū)間內(nèi)的價格數(shù)據(jù)的波動性或其分布數(shù)據(jù)。 每個單獨的箱形圖(或箱須圖)都能直觀地展現(xiàn)數(shù)值如何沿數(shù)據(jù)集的分布。 不要把箱形圖與燭條圖混淆,盡管它們在外觀上可能相似。 與燭條圖不同,箱形圖基于五種讀數(shù)提供了一種顯示數(shù)據(jù)分布的標準化方法。

赫茲股票量化軟件

  1. 中位數(shù),Q2 或第 50 的百分數(shù)顯示數(shù)據(jù)集的平均值。 該值在圖例中的箱內(nèi)以綠色水平線示意。

  2. 第一個四分位數(shù),Q1(或第 25 的百分數(shù))代表 Q2 和樣本中最小值之間的中位數(shù),該中位數(shù)落在 99% 置信區(qū)間內(nèi)。 它在圖中顯示為箱子的“實體”下邊緣。

  3. 第三個四分位數(shù),Q3(或第 75 的百分數(shù))是 Q2 和最大值之間的中位數(shù),顯示為箱子的“實體”上邊緣。

  4. 箱子的實體形成了四分位間距(介于 25% 和 75% 之間),也稱為 IQR。

  5. 箱子的須則充實了分布。 它們覆蓋了整個樣本的 99%,上方和下方的點表示超出 99% 范圍的數(shù)值。

該數(shù)據(jù)足以評估波動范圍,和內(nèi)部范圍內(nèi)的數(shù)值離散度。



進一步分析季節(jié)性形態(tài)

我們更詳盡地研究圖例 1。 我們可以看到,第五個月(五月份)的增幅中位數(shù)偏移到零軸下方,且其異常值顯見高于零軸。 通常,從十年的統(tǒng)計數(shù)據(jù)里可以看出,五月份的市場相對于三月份有所下跌。 只有一個年份,五月份市場上漲。 這是一個有趣的思路,很符合交易者的格言“在五月份賣掉,并離開!”。赫茲股票量化軟件

我們看一下五月份之后的六月份。 相對于五月份,六月份市場幾乎總是(排除一年以外)在增長,這種情況每年都在重復(fù)。 六月份的波動范圍很小,沒有異常值(與五月份不同),這表明良好的季節(jié)性穩(wěn)定。

請注意第 11 個月(十一月份)。 在此期間市場下跌的概率很高。 之后,在十二月份,市場通常會再度上行。 一月份(第一個月)的波動性很高,且相對于十二月份有所下跌。

所獲得的數(shù)據(jù)可為交易決策提供很有用的基礎(chǔ)條件概覽。 而且,概率可以集成到交易系統(tǒng)當中。 例如,可以在某些月份執(zhí)行更多的買賣操作。赫茲股票量化軟件

月度周期數(shù)據(jù)非常有趣,但在較短的日線周期中能更深入地研究其可能性。

我們利用相同的 10 年度觀察一周中每個單獨交易日的價格增幅分布:

Daily_Returns = returns.groupby([returns.index.week.rename('week'), returns.index.dayofweek.rename('day')]).mean()


圖例 2. 按交易日計的平均價格增幅,覆蓋 10 年。

此處零對應(yīng)于星期一,四則對應(yīng)于星期五。 根據(jù)價格范圍,按日波動率幾乎保持不變。 然而不能據(jù)此得出結(jié)論,即在一周中的某個特定日期交易更為密集。 平均來說,市場在星期一和星期五時更傾向于下行非上行。 也許在一些單獨的月份中,按日分布的樣子會有所不同。 我們來執(zhí)行附加分析。赫茲股票量化軟件

# leave only one month "returns.index[~returns.index.month.isin([1])" returns = returns.drop(returns.index[~returns.index.month.isin([1])])

在上面的代碼中,1 表示一月份。 通過修改此值,我們可以從 10 年度里獲得任意月份的統(tǒng)計信息。


圖例 3. 按交易日的平均價格增幅,覆蓋 10 年(一月份)。

上圖展示了一月份按日的增幅分布。 與所有月份的摘要統(tǒng)計相比,該圖現(xiàn)在提供了更多有用的詳細信息。 它清晰地表明,周五市場趨于下跌。 只有 EURUSD 貨幣對沒有下跌(所示異常值高于零軸)。

此處是三月份的類似統(tǒng)計信息:


?圖例 4. 按交易日的平均價格增幅,覆蓋 10 年(三月份)。

三月份的統(tǒng)計數(shù)據(jù)與一月份的統(tǒng)計數(shù)據(jù)完全不同。 周一和周二(尤其是周二)表現(xiàn)出看跌趨勢。 所有周二的收盤價都大幅下降,而其余的幾天則在零軸附近波動(平均)。?

我們來看看十月份:


圖例 5. 按交易日的平均價格增幅,覆蓋 10 年(十月份)。

分析按星期的增幅分布沒有發(fā)現(xiàn)任何突出的形態(tài)。 我們只能單挑出周三,這天的價格走勢范圍和潛力最大。 所有其他日子上行和下行走勢的概率表現(xiàn)都相同,且有一些異常值。



季節(jié)性分析日內(nèi)形態(tài)

在創(chuàng)建交易系統(tǒng)時,通常要考慮日內(nèi)的分布,例如,除了日線和月線的分布,還要用到小時線數(shù)據(jù)。 這輕易就可做到。

研究每小時的價格增幅分布:

rates = pd.DataFrame(MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_M15, datetime(2010, 1, 1), datetime(2019, 11, 25)), ???????????????????? columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume']) # leave only 'time' and 'close' columns rates.drop(['open', 'low', 'high', 'tick_volume', 'spread', 'real_volume'], axis=1) # get percent change (price returns) returns = pd.DataFrame(rates['close'].pct_change(1)) returns = returns.set_index(rates['time']) returns = returns[1:] Hourly_Returns = returns.groupby([returns.index.day.rename('day'), returns.index.hour.rename('hour')]).median() Hourly_Returns.boxplot(column='close', by='hour', figsize=(10, 5))

這些是 10 年度的 15 分鐘時間幀報價。 另一個區(qū)別是,將數(shù)據(jù)按日和小時分組,以便得到子樣本中所有交易日的小時統(tǒng)計中值。


圖例 6. 按小時計平均價格增幅,覆蓋 10 年。

此處有必要知道終端的時區(qū)。 以我為例,其為 +2。 作為參考,我們的主要外匯交易時段的開盤和收盤時間寫為 UTC+2。

時段開盤價收盤價?太平洋區(qū)21.00?08.00亞洲區(qū)01.00?11.00歐洲區(qū)08.00?18.00美洲區(qū)14.00?00.00

太平洋時段的交易通常較平靜。 如果觀察箱子的大小,您會很容易注意到,在 21.00-08.00 之間范圍最小,這與平靜的交易相呼應(yīng)。 在歐洲時段美洲時段開盤后,范圍擴大,然后逐漸遞減。 似乎沒有明顯的周期性形態(tài),而這種形態(tài)在日線時間幀內(nèi)卻很明顯。 平均增幅在零軸附近波動,且沒有清晰的上行或下行的小時線。

一個有趣的區(qū)間是 23.00(每周時段收盤),在此區(qū)間價格通常相對于 22.00 降低。 這可以表示為交易時段收盤時的修正。 在 00.00 點時價格相對于 23.00 有所增長,因此可以將其視為規(guī)律性。 很難檢測到更明顯的周期,但是我們對價格范圍有完整的全景,并且知道該時段的期望值。

用單個滯后造成增幅去趨勢化,可以掩蓋一些形態(tài)。 因此,按任意周期的移動均線來觀察去趨勢化數(shù)據(jù)是合理的。



按均線(MA)搜索去趨勢化季節(jié)性形態(tài)

正確檢測趨勢分量非常棘手。 有時,時間序列可能會太平滑。 在這種情況下,交易信號極少。 如果縮短平滑周期,那么高頻成交可能無法負擔點差和傭金。 我們編輯代碼,以便利用移動平均線進行去趨勢化:

rates = pd.DataFrame(MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_M15, datetime(2010, 1, 1), datetime(2019, 11, 25)), ???????????????????? columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume']) # leave only 'time' and 'close' columns rates = rates.drop(['open', 'low', 'high', 'tick_volume', 'spread', 'real_volume'], axis=1) rates = rates.set_index('time') # set the moving average period window = 25 # detrend tome series by MA ratesM = rates.rolling(window).mean() ratesD = rates[window:] - ratesM[window:] plt.figure(figsize=(10, 5)) plt.plot(rates) plt.plot(ratesM)


赫茲股票量化交易軟件:利用箱形圖(Boxplot)探索金融時間序列的季節(jié)性形態(tài)的評論 (共 條)

分享到微博請遵守國家法律
海门市| 会昌县| 两当县| 遂溪县| 建宁县| 克什克腾旗| 兰坪| 常山县| 通城县| 钦州市| 大厂| 平和县| 兰坪| 蚌埠市| 太白县| 石棉县| 玛曲县| 旬阳县| 彭州市| 长沙市| 吴堡县| 白河县| 株洲县| 吉木萨尔县| 卫辉市| 克拉玛依市| 六安市| 措勤县| 南城县| 康乐县| 前郭尔| 武陟县| 巩留县| 沂南县| 高台县| 方正县| 临湘市| 临沭县| 绵阳市| 漳浦县| 高要市|