速查手冊:TA-Lib 超過150種量化技術指標計算全解 - 1. Overlap Studies(重疊指標)

速查手冊:TA-Lib 超過150種量化技術指標計算全解 - 1. Overlap Studies(重疊指標)

TA-Lib(Technical Analysis Library)是廣泛使用的金融技術分析庫,實現了超過150種技術指標計算函數,適用于股票、期貨等金融數據的技術分析,幫助用戶進行量化研究和交易策略開發。

文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。適合量化新手建立系統認知,為策略開發打下基礎。

TA-Lib

目錄

  1. Overlap Studies(重疊指標)
  2. Momentum Indicators(動量指標)
  3. Volume Indicators(成交量指標)
  4. Volatility Indicators(波動率指標)
  5. Cycle Indicators(周期指標)
  6. Price Transform(價格變換)
  7. Pattern Recognition(模式識別)
  8. Statistic Functions(統計函數)
  9. Math Transform(數學變換)
  10. Math Operators(數學運算符)

Overlap Studies(重疊指標)

1. 移動平均類指標

SMA (Simple Moving Average) 簡單移動平均線

  • 作用:通過算術平均平滑價格波動,識別趨勢方向。

  • 計算方法
    SMA ( N ) = ∑ i = 1 N Close i N \text{SMA}(N) = \frac{\sum_{i=1}^{N} \text{Close}_i}{N} SMA(N)=Ni=1N?Closei??

  • 參數timeperiod=20 計算移動平均的周期(例如 20 日)。

  • 使用場景:判斷支撐/阻力位,趨勢確認。

  • 示例代碼

    sma = talib.SMA(close, timeperiod=20)
    

EMA (Exponential Moving Average) 指數移動平均線

  • 作用:對近期價格賦予更高權重,反應更快。

  • 計算方法
    EMA ( N ) t = α ? Close ? t + ( 1 ? α ) ? EMA ? t ? 1 \text{EMA}(N)_t = \alpha \cdot \text{Close}*t + (1-\alpha) \cdot \text{EMA}*{t-1} EMA(N)t?=α?Close?t+(1?α)?EMA?t?1 α = 2 N + 1 \alpha = \frac{2}{N+1} α=N+12?

  • 參數timeperiod=20 指數平滑的周期。

  • 使用場景:短期趨勢跟蹤,日內交易。

  • 示例代碼

    ema = talib.EMA(close, timeperiod=20)
    

WMA (Weighted Moving Average) 加權移動平均線

  • 作用:按時間線性遞減權重,強調近期價格。

  • 計算方法
    WMA ( N ) = ∑ i = 1 N ( N ? i + 1 ) ? Close ? i ∑ ? i = 1 N ( N ? i + 1 ) \text{WMA}(N) = \frac{\sum_{i=1}^{N} (N-i+1) \cdot \text{Close}*i}{\sum*{i=1}^{N} (N-i+1)} WMA(N)=?i=1N(N?i+1)i=1N?(N?i+1)?Close?i?

  • 參數timeperiod=20 加權平均的周期。

  • 使用場景:快速捕捉價格拐點。

  • 示例代碼

    wma = talib.WMA(close, timeperiod=20)
    

DEMA (Double Exponential Moving Average) 雙指數移動平均線

  • 作用:雙重平滑減少傳統EMA滯后性。

  • 計算方法
    DEMA = 2 ? EMA ( N ) ? EMA ( EMA ( N ) ) \text{DEMA} = 2 \cdot \text{EMA}(N) - \text{EMA}(\text{EMA}(N)) DEMA=2?EMA(N)?EMA(EMA(N))

  • 參數timeperiod=20 雙重指數平滑的周期。

  • 使用場景:高頻交易或波動市場。

  • 示例代碼

    dema = talib.DEMA(close, timeperiod=20)
    

TEMA (Triple Exponential Moving Average) 三重指數移動平均線

  • 作用:三重平滑進一步減少噪音。

  • 計算方法:對EMA進行三次平滑。

  • 參數timeperiod=20 三重指數平滑的周期。

  • 使用場景:中長期趨勢過濾。

  • 示例代碼

    tema = talib.TEMA(close, timeperiod=20)
    

TRIMA (Triangular Moving Average) 三角形移動平均線

  • 作用:權重呈三角形分布,平衡平滑性與響應速度。

  • 計算方法:雙次平滑的SMA。

  • 參數timeperiod=20 雙次平滑的周期。

  • 使用場景:震蕩市趨勢識別。

  • 示例代碼

    trima = talib.TRIMA(close, timeperiod=20)
    

KAMA (Kaufman Adaptive Moving Average) 自適應移動平均線

  • 作用:根據波動率動態調整平滑周期。

  • 計算方法

    1. 效率比率(ER)= 價格變化 / 波動累積值
    2. 平滑系數 α = [ E R ? ( f a s t e s t ? s l o w e s t ) + s l o w e s t ] 2 \alpha = [ER \cdot (fastest - slowest) + slowest]^2 α=[ER?(fastest?slowest)+slowest]2
    3. KAMA = 當前價格 ? α \cdot \alpha ?α + 前一日KAMA ? ( 1 ? α ) \cdot (1-\alpha) ?(1?α)
  • 參數timeperiod=30

  • 使用場景:趨勢與震蕩交替市場。

  • 示例代碼

    kama = talib.KAMA(close, timeperiod=30)
    

MAMA (MESA Adaptive Moving Average) MESA自適應移動平均線

  • 作用:基于希爾伯特變換的自適應移動平均。

  • 計算方法:通過頻率調整快速響應趨勢變化。

  • 參數:fastlimit=0.5 快速平滑系數上限(范圍 0.010.99),slowlimit=0.05 慢速平滑系數下限(范圍 0.010.99)。

  • 使用場景:捕捉非線性趨勢。

  • 示例代碼

    mama, fama = talib.MAMA(close, fastlimit=0.5, slowlimit=0.05)
    

T3 (Triple Exponential Moving Average with Volume Factor) 包含體積因子的三重指數移動平均線

  • 作用:三重指數平滑結合體積因子。

  • 計算方法:復雜的三次平滑公式。

  • 參數:timeperiod=5 三重平滑的周期,vfactor=0.7 體積因子,控制平滑強度(0~1)。

  • 使用場景:剔除短期噪音。

  • 示例代碼

    t3 = talib.T3(close, timeperiod=5, vfactor=0.7)
    

2. 布林帶類指標

BBANDS (Bollinger Bands) 布林帶

  • 作用:量化價格波動范圍,識別超買超賣。

  • 計算方法

    • 中軌 = SMA(N)
    • 上軌 = 中軌 + k ? 標準差 ( N ) k \cdot \text{標準差}(N) k?標準差(N)
    • 下軌 = 中軌 - k ? 標準差 ( N ) k \cdot \text{標準差}(N) k?標準差(N)
  • 參數:timeperiod=20 中軌(SMA)的周期,bdevup=2 上軌標準差倍數(例如 +2σ),nbdevdn=2 下軌標準差倍數(例如 -2σ)。

  • 使用場景:價格突破上下軌時反轉信號。

  • 示例代碼

    upper, middle, lower = talib.BBANDS(close, timeperiod=20, nbdevup=2, nbdevdn=2)
    

3. 其他重疊指標

HT_TRENDLINE (Hilbert Transform Trendline) 希爾伯特變換趨勢線

  • 作用:生成平滑趨勢線,過濾市場噪音。

  • 計算方法:基于希爾伯特變換的相位調整。

  • 參數:無需周期參數。

  • 使用場景:長期趨勢方向識別。

  • 示例代碼

    ht_trend = talib.HT_TRENDLINE(close)
    

MIDPOINT 中點

  • 作用:計算N日內價格中點。

  • 計算方法:中點 = 最高價?+?最低價 2 \frac{\text{最高價 + 最低價}}{2} 2最高價?+?最低價?(N日窗口)。

  • 參數timeperiod=14 計算中點價格的周期。

  • 使用場景:動態支撐/阻力參考。

  • 示例代碼

    midpoint = talib.MIDPOINT(close, timeperiod=14)
    

MIDPRICE 中位價格

  • 作用:計算N日內最高價與最低價平均值。

  • 計算方法:中點價 = N日最高價?+?N日最低價 2 \frac{\text{N日最高價 + N日最低價}}{2} 2N日最高價?+?N日最低價?

  • 參數timeperiod=14 計算中點價(最高價與最低價均值)的周期。

  • 使用場景:簡化價格波動分析。

  • 示例代碼

    midprice = talib.MIDPRICE(high, low, timeperiod=14)
    

SAR (Parabolic SAR) 拋物線轉向 SAR

  • 作用:跟蹤趨勢反轉點,提供止損參考。

  • 計算方法

    • 上升趨勢中,SAR點隨時間加速上移;
    • 下降趨勢中,SAR點隨時間加速下移。
  • 參數:acceleration=0.02 初始加速因子(步長),maximum=0.2 加速因子的上限值。

  • 使用場景:趨勢反轉預警。

  • 示例代碼

    sar = talib.SAR(high, low, acceleration=0.02, maximum=0.2)
    

SAREXT (Parabolic SAR Extended) 擴展拋物線轉向 SAR

  • 作用:SAR的擴展版本,支持更多參數調整。

  • 計算方法:改進的加速因子邏輯。

  • 參數:start=0.02 初始加速因子,increment=0.02 每次加速的增量,maximum=0.2 加速因子上限。

  • 使用場景:復雜趨勢環境下的止損優化。

  • 示例代碼

    sar_ext = talib.SAREXT(high, low, start=0.02, increment=0.02, maximum=0.2)
    

4. 使用建議

  1. 組合策略
    • SMA + BBANDS:判斷趨勢方向與波動區間。
    • EMA + SAR:跟蹤趨勢并設置動態止損。
  2. 參數調優
    • 根據資產特性調整周期(如加密貨幣用 14 日,股票用 20 日)。
  3. 避免過度擬合
    • 回測時需驗證指標在多種市場環境(趨勢、震蕩)下的有效性。

風險提示與免責聲明
本文內容基于公開信息研究整理,不構成任何形式的投資建議。歷史表現不應作為未來收益保證,市場存在不可預見的波動風險。投資者需結合自身財務狀況及風險承受能力獨立決策,并自行承擔交易結果。作者及發布方不對任何依據本文操作導致的損失承擔法律責任。市場有風險,投資須謹慎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/77592.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/77592.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/77592.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

重構未來智能:Anthropic 解碼Agent設計哲學三重奏

第一章 智能體進化論:從工具到自主體的認知躍遷 1.1 LLM應用范式演進圖譜 階段技術形態應用特征代表場景初級階段單功能模型硬編碼規則執行文本摘要/分類進階階段工作流編排多模型協同調度跨語言翻譯流水線高級階段自主智能體動態決策交互編程調試/客服對話 1.1.…

Git 中修改某個特定的commit提交內容

在 Git 中修改某個特定的提交(commit)通常需要使用 交互式變基(Interactive Rebase) 或 修改提交(Commit Amend)。以下是不同場景下的具體操作步驟: 一、修改最近的提交(最新提交&am…

ZLMediaKit流媒體服務器

ZLMediaKit 簡介 ZLMediaKit 是一個基于 C11 開發的高性能流媒體服務器框架,支持 RTSP、RTMP、HLS、HTTP-FLV、WebSocket-FLV、HTTP-TS、WebSocket-TS、HTTP-fMP4、WebSocket-fMP4 等多種流媒體協議。 主要特性 多協議支持: 支持 RTSP/RTMP/HLS/HTTP-F…

數字電子技術基礎(五十)——硬件描述語言簡介

目錄 1 硬件描述語言簡介 1.1 硬件描述語言簡介 1.2 硬件編程語言的發展歷史 1.3 兩種硬件描述的比較 1.4 硬件描述語言的應用場景 1.5 基本程序結構 1.5.1 基本程序結構 1.5.2 基本語句和描述方法 1.5.3 仿真 1 硬件描述語言簡介 1.1 硬件描述語言簡介 硬件描述語…

SQL系列:常用函數

1、【MySQL】合并字段函數(列轉行) 它可以將兩個字段中的數據合并到一個字段中。 1)CONCAT函數 CONCAT函數可以將多個字段中的數據合并到一個字段中。它的語法格式如下: SELECT CONCAT(字段1,字段2,...字段N) FROM 表名;SELEC…

多線程和線程同步

多線程在項目開發中使用頻率高,使用多線程能夠提高程序的并發性 提高程序的并發性:1.多線程,對系統資源的消耗更小一些 2.多進程 系統的cpu資源有線,cpu時間片被分好后,由系統進行調度,每個線程在執行的時候都需要搶這個cpu的時間片。如果搶到了,就執行,如果沒搶到,…

時序數據預測:TDengine 與機器學習框架的結合(一)

一、引言 在當今數字化時代,時序數據如潮水般涌來,廣泛存在于物聯網、工業監控、金融交易、氣象監測等眾多領域。這些按時間順序記錄的數據蘊含著豐富的信息,對其進行準確預測,能夠為企業和組織的決策提供有力支持,帶…

elementUI中MessageBox.confirm()默認不聚焦問題處理

在項目中使用elementUI的MessageBox.confirm()出現了默認不聚焦的問題,默認確認按鈕是淺色的,需要點擊一下才會變成正常。面對這種問題,創建新組件,實現聚焦。替換默認的MessageBox.confirm() 解決 創建components/MessageBoxCo…

yarn的定義

YARN 即 Yet Another Resource Negotiator,它是 Apache Hadoop 2.x 及后續版本中的集群資源管理系統,也是 Hadoop 生態系統的核心組件之一。 YARN 的誕生是為了解決 Hadoop 1.x 中 MapReduce 框架將資源管理和作業調度任務耦合在一起所帶來的可擴展性差等…

http、https、TLS、證書原理理解,對稱加密到非對稱加密問題,以及對應的大致流程

http 超文本傳輸協議 存在問題: 安全性、隱私性、數據完整性 易被中間人(黑客之類的)對數據進行劫持、篡改、隱私泄露 引出了 https (source) http 在網絡模型中的應用層 Application > transport > inter…

深度補全網絡:如CSPN++填補稀疏點云的深度信息

深度補全網絡:CSPN填補稀疏點云的深度信息 深度補全(Depth Completion)是計算機視覺中的一個重要任務,旨在從稀疏的深度測量中恢復密集的深度圖。CSPN(Convolutional Spatial Propagation Network)是這一領域的前沿方法之一。 CSPN概述 CSPN是對原始CSPN…

QT網絡拓撲圖繪制實驗

前言 在網絡通訊中,我qt常用的是TCP或者UDP協議,就比方說TCP吧,一臺服務器有時可能會和多臺客戶端相連接,我之前都是處理單鏈接情況,最近研究圖結構的時候,突然就想到了這個問題。那么如何解決這個問題呢&…

DNS主從同步實驗

dns域名解析原理 實驗步驟1、主dns要完成dns解析:192.168.21.128 [rootlocalhost ~]# yum install bind -y [rootlocalhost ~]# systemctl start named [rootlocalhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; direct…

知識了解03——怎么解決使用npm包下載慢的問題?

1、為什么使用npm下載包會下載的慢 因為使用npm下載包時,默認使用國外服務器進行下載,此時的網絡傳輸需要經過漫長的海底電纜,因此下載速度會變慢 2、怎么解決?(切換鏡像源) (1)方…

在Ubuntu系統中安裝和升級RabbitVCS

在Ubuntu系統中安裝和升級RabbitVCS 目前在ubuntu中使用svn的GUI工具,已經安裝了。想升級一下。 當前遇到的問題是,我想用它看看我當前的代碼對應的版本號,然后再決定是否update。但是,好像我看不出來。根本不如在windows使用To…

cv::dnn::NMSBoxes和nms-free的比較

1. 原理與目標 cv::dnn::NMSBoxes 基于傳統的非極大值抑制(NMS)算法,通過交并比(IoU)篩選重疊框,保留置信度最高的框,抑制冗余檢測。支持變體如 Soft-NMS(通過降低分數而非直接抑制&…

React-useImperativeHandle (forwardRef)

我們會遇到這樣的場景:某個組件想要暴露一些方法,來供外部組件來調用。例如我們在開發form表單的時候,就需要把設置表單值、重置值、提交等方法暴露給外部使用。會有如下代碼: import { forwardRef } from react;const Form for…

多人五子棋聯機對戰平臺 測試報告

目錄 項目介紹 測試用例設計 部分功能測試示例 自動化測試 測試范圍 排除范圍 自動化測試目錄?編輯 執行全部自動化測試用例 性能說明 總結 性能測試 結果分析 測試總結 項目介紹 該項目基于WebSocket實現實時通信,采用SSM框架構建在線五子棋多人聯機…

JAVAEE(網絡原理—UDP報頭結構)

我們本篇文章要講的是UDP的報頭結構以及注意事項。 下面呢,我先說一下UDP是什么? 1.UDP是什么? UDP是一種網絡協議。網絡協議是計算機網絡中,為了使不同設備之間能夠準確、高效地進行數據交換和通信,而預先制定的一…

STM32學習筆記匯總

所有學習資料均參考b站江科大,和鐵山羊 一.創建工程(比較麻煩,而且時間長了就容易忘記) 二.點燈大師(成功的第一步) 三.不同的燒錄器使用(Jlink-stlink)