金融量化紅白大對抗 P-Quant v.s. Q-Quant

P-Quant & Q-Quant 金融量化中的“紅軍”和“白軍” 很多人不知道有這對名詞,但我相信大家都會有一個疑惑,對衍生品定價算不算量化? 那麼對沖基金裡面用模型找到的交易策略算不算量化?如果都是量化的範疇,那麼這兩個方面看起來差別特別大。我...

2024年12月15日 星期日

總結神經網路激活函數的公式與特性(帶公式說明)

神經網路激活函數的公式與特性(帶公式說明)

1. 分段線性激活函數

  • ReLU
    公式:

    \[ f(x) = \max(0, x) \]

    說明:只保留正值,負值直接變為 0,實現簡單高效的計算,廣泛用於深度學習模型中。
    # Python 實現 ReLU
    import numpy as np
    
    def relu(x):
        return np.maximum(0, x)
    
    x = np.array([-2, -1, 0, 1, 2])
    print(relu(x))
                
  • PReLU
    公式:

    \[ f(x) = \max(0, x) + \alpha \cdot \min(0, x) \]

    說明:對於負值區域引入可訓練參數 \(\alpha\),讓負值不會完全變為 0,避免 ReLU 的死區問題。
    # Python 實現 PReLU
    import numpy as np
    
    def prelu(x, alpha=0.1):
        return np.maximum(0, x) + alpha * np.minimum(0, x)
    
    x = np.array([-2, -1, 0, 1, 2])
    print(prelu(x))
                
  • RReLU
    公式:

    \[ f(x) = \begin{cases} x, & \text{if } x \geq 0 \\ a \cdot x, & \text{if } x < 0, \text{ where } a \sim U(l, u) \end{cases} \]

    說明:引入隨機負斜率 \(a\),提升模型的隨機性和正則化效果。
    # Python 實現 RReLU
    import numpy as np
    
    def rrelu(x, l=0.1, u=0.3):
        a = np.random.uniform(l, u)
        return np.where(x >= 0, x, a * x)
    
    x = np.array([-2, -1, 0, 1, 2])
    print(rrelu(x))
                

2. 平滑非線性激活函數

  • GELU
    公式:

    \[ f(x) = \frac{x}{2} \left(1 + \tanh\left(\sqrt{\frac{2}{\pi}} (x + 0.044715x^3)\right)\right) \]

    說明:結合高斯分布的啟用函數,提供數學上更精確的平滑激活,計算複雜但效果優秀。
    # Python 實現 GELU
    import numpy as np
    
    def gelu(x):
        return 0.5 * x * (1 + np.tanh(np.sqrt(2 / np.pi) * (x + 0.044715 * x**3)))
    
    x = np.array([-2, -1, 0, 1, 2])
    print(gelu(x))
                
  • Swish
    公式:

    \[ f(x) = \frac{x}{1 + e^{-x}} \]

    說明:平滑且具有非單調性,適合深層網路,能提升模型性能。
    # Python 實現 Swish
    import numpy as np
    
    def swish(x):
        return x / (1 + np.exp(-x))
    
    x = np.array([-2, -1, 0, 1, 2])
    print(swish(x))
                
  • Mish
    公式:

    \[ f(x) = x \cdot \tanh(\ln(1 + e^x)) \]

    說明:平滑性優於 Swish,並保留了更多輸入信息,適用於高效的特徵學習。
    # Python 實現 Mish
    import numpy as np
    
    def mish(x):
        return x * np.tanh(np.log(1 + np.exp(x)))
    
    x = np.array([-2, -1, 0, 1, 2])
    print(mish(x))
                

應用建議

  • 基礎應用:ReLU 簡單高效,適合大多數場景。
  • 深層模型:Swish、Mish、GELU 等能提高深層網路性能。
  • 正則化需求:SELU 和 RReLU 可提供更好的穩定性。
  • 數據分佈:Tanh 適合零中心化,SoftPlus 適合平滑輸出場景。

2024年12月7日 星期六

時間序列在金融上的研究


時間序列在金融上的研究


1. 時間序列模型在金融預測中的應用

1.1 股票價格預測

  • 模型應用:傳統的時間序列模型如 ARIMA、GARCH,以及現代的 LSTM、Transformer 等深度學習模型都廣泛應用於股票價格的預測。
  • 挑戰:金融市場中價格變動通常存在高波動性、非線性特徵,這對模型的準確性和穩定性提出了高要求。

1.2 波動率建模

  • 模型應用:GARCH 和其衍生模型(如 EGARCH、TGARCH)用於建模金融市場的波動性。
  • 重要性:預測市場波動性對於衍生品定價、風險管理等方面具有重要意義,尤其在股票、期貨及匯率市場中尤為重要。

1.3 資產配置與投資組合管理

  • 模型應用:VAR(向量自迴歸)模型可用於分析多種資產之間的相互影響與關聯性,幫助投資者構建多樣化的投資組合,降低風險。
  • 挑戰:金融市場中資產之間的關聯性會隨時間變化,模型需具備捕捉這些動態變化的能力。

2. 金融市場的結構與隱含信息

2.1 市場狀態切換(隱馬爾可夫模型)

  • 模型應用:隱馬爾可夫模型(HMM)可以用來分析市場在不同狀態下的行為模式(如牛市、熊市等)。
  • 挑戰:如何準確地識別市場的狀態轉換點,並根據這些變化調整投資策略。

2.2 金融危機預測

  • 模型應用:時間序列分析結合宏觀經濟指標可用來識別潛在的金融危機,通過異常變動或極端波動進行預警。
  • 挑戰:市場中的非線性關係與複雜的外部因素使得金融危機的預測難度加大。

3. 高頻數據與交易策略

3.1 高頻交易(High-frequency Trading, HFT)

  • 模型應用:利用高頻數據(如秒級或毫秒級交易數據),結合深度學習中的卷積神經網絡(CNN)或長短期記憶網絡(LSTM)進行超短期預測和套利策略的設計。
  • 挑戰:高頻數據通常具有噪聲特徵,並且交易成本與風險控制需要嚴格管理。

3.2 量化交易策略

  • 模型應用:基於時間序列分析,利用統計學、機器學習算法進行量化交易策略的設計,這些策略包括均值回歸、動量交易等。
  • 挑戰:量化交易策略需要應對市場中的不確定性與異常波動,且策略過度擬合的風險需謹慎處理。

4. 風險管理與金融衍生品定價

4.1 期權定價

  • 模型應用:蒙地卡羅模擬(Monte Carlo Simulation)與貝葉斯時間序列方法被用來進行期權定價及隱含波動率的估計。
  • 挑戰:期權市場具有非理性波動,且市場流動性、政策變動等因素會影響期權價格的變動。

4.2 風險值(VaR)模型

  • 模型應用:風險值模型基於歷史數據進行VaR計算,用於估算投資組合在特定時間範圍內可能的最大損失。
  • 挑戰:金融市場的非線性波動與極端事件的發生,可能會導致VaR模型無法準確預測潛在風險。

傳統統計模型

1. 自迴歸移動平均模型(ARIMA)

  • 適用性:預測平穩時間序列。
  • 特點:結合自迴歸(AR)、移動平均(MA)及差分處理以解決趨勢與季節性問題。
  • 延伸模型
    • SARIMA:加入季節性處理。
    • SARIMAX:在 SARIMA 基礎上加入外生變數。

2. 指數平滑法(Exponential Smoothing)

  • 適用性:需求預測或短期預測。
  • 特點
    • 單一平滑:簡單平滑過去資料。
    • 雙重平滑:處理趨勢。
    • 三重平滑:考慮季節性因素。

3. 向量自迴歸(VAR)

  • 適用性:多變數時間序列分析。
  • 特點:分析多個變數之間的相互關聯與動態關係。

4. GARCH 模型(Generalized Autoregressive Conditional Heteroskedasticity)

  • 適用性:波動率建模(如股票、匯率等金融數據)。
  • 特點:有效處理金融數據中的條件異方差問題。

機器學習與深度學習模型

1. 決策樹與集成方法

  • 適用性:短期預測與分類。
  • 特點
    • 隨機森林:多棵決策樹組成集成模型,適應非線性關係。
    • 梯度提升機:透過逐步提升樹模型,提高預測準確度。

2. 長短期記憶網路(LSTM)

  • 適用性:捕捉長期時間序列的依賴關係。
  • 特點:解決傳統 RNN 的梯度消失問題,適用於如股價等連續資料分析。

3. 門控循環單元(GRU)

  • 適用性:GRU 是一種特殊的循環神經網路(RNN),用於解決長期依賴問題。它是 LSTM 的一個變體,主要應用於需要時間序列建模的問題,如語音識別、自然語言處理和金融預測。
  • 特點
    • 結構簡單:相比於 LSTM,GRU 的結構較為簡單,只有兩個門(更新門和重置門),使其計算效率更高。
    • 計算效率:由於結構簡單,GRU 在許多應用中能夠提供與 LSTM 相似的性能,但需要較少的計算資源和訓練時間。
    • 記憶長期依賴:GRU 通過更新門來決定在時間步驟之間傳遞多少信息,並通過重置門來決定是否重置記憶,這使它能夠捕捉長期的依賴關係。
    • 適用場合:適合資源有限的應用,尤其是在對計算資源和訓練時間有較高要求的情況下。
  • 與 LSTM 的比較
    • 結構差異: LSTM 擁有更多的門(輸入門、遺忘門、輸出門),而 GRU 只有更新門和重置門,這使得 GRU 更簡單。
    • 計算效率: 由於 GRU 的結構簡單,它通常比 LSTM 更快,特別是在處理大量數據時。
    • 性能相似: 在許多應用中,GRU 和 LSTM 表現相似,並且 GRU 在一些小型數據集或對計算資源要求較高的場景中可能表現更好。

特定金融領域的專用方法

1. 隱馬爾可夫模型(HMM)

  • 適用性:市場狀態切換建模(如牛市與熊市)。
  • 特點:分析資產價格的隱含結構,捕捉市場變動規律。

2. 蒙地卡羅模擬(Monte Carlo Simulation)

  • 適用性:風險管理與期權定價。
  • 特點:模擬多條未來價格路徑,計算預期收益與風險。

3. 貝葉斯時間序列(Bayesian Time Series)

  • 適用性:市場不確定性建模。
  • 特點:提供模型參數的不確定性範圍,進行風險預測。

特徵工程與資料處理技術

1. 差分處理(Differencing)

  • 用途:消除趨勢,取得平穩序列。

2. 滑動平均(Moving Average)

  • 用途:平滑數據,強調局部趨勢。

3. 小波轉換(Wavelet Transform)

  • 用途:分解非平穩時間序列,提取多層次特徵。

4. 傅里葉分析(Fourier Analysis)

  • 用途:分析周期性模式,識別周期性波動。

總結

  • 時間序列分析在金融領域有廣泛的應用,涵蓋了從預測、波動率建模到風險管理的各個方面。
  • 隨著機器學習與深度學習技術的發展,越來越多先進的模型(如 LSTM、Transformer)被應用於複雜的時間序列預測,並提升了預測精度與模型適應性。
  • 在進行金融時間序列建模時,特徵工程與資料處理技術的選擇同樣至關重要,需要根據具體問題選擇合適的處理方法。


2024年7月8日 星期一

要如何查詢美股 Nvidia 的財報 ?

 要如何查詢美股 Nvidia 的財報 ?

1. 首先打開 美國證管會網站 https://sec.gov,然後在搜尋打入股票代碼(Ticker) NVDA,然後點擊 Nvidia



2. 進入Nvidia公司在證監會EDGAR資料庫的頁面後,點開10-K選項,就可以找到最近公開的財報資料



3. 然後會跳出另一個頁面,裡面就是你選的資料拉 !



https://www.sec.gov/ix?doc=/Archives/edgar/data/1045810/000104581024000124/nvda-20240428.htm