發表文章

目前顯示的是有「python」標籤的文章

人工智慧金融投資決策_ Binomial Tree Pricing

圖片
One-Period Binomial Model 二項樹(Binomial Tree)二項式定價模型 期權的二項式定價模型是由Cox, Ross and Rubinstein在 1979 年首次提出的。 是一種常用的方法,用來近似股票、選擇權或其他資產價格的變動。 二項樹是一種圖形表示方式,用來呈現資產在存續期間內,股票價格可能遵循的各種不同路徑。 在進行選擇權定價時,其基本假設是股票價格遵循隨機漫步(Random Walk)。 使用二項式樹時的主要假設包括利率保持不變、沒有股息發放,以及不存在交易成本或稅金。此模型最適用於期限較長或涉及有股息支付的證券的期權定價。 使用二項式樹來計算價格的過程會比Black Scholes還來的慢。 假設一個經濟體情境 屬於一個無風險債券(risk-free bond),其無風險利率為 12%。 一檔股票,目前價格為 20 美元。 三個月後,股票價格將會是 22 美元或 18 美元。 將股票價格簡化為要馬上漲、要馬下跌 我們要將三個月到期的call option price去定價,履約價為21 當三個月到期時股票價格漲到22元,這時候call price價值就是1元,此時就會履約。 若未來股票下跌到18元,此時call price價值就是0元,則不履約。 在每一個時間步驟中,股票價格都有某個特定機率上漲某個百分比幅度,也有某個特定機率下跌某個百分比幅度。 如果我們能建立一個投資組合(Portfolio),使其報酬能夠複製選擇權的到期損益(Replicate the Payoff of an Option),那麼在市場不存在套利機會的情況下 選擇權價格=複製投資組合的價格 也就是說,如果「股票+無風險債券」組成的投資組合,未來不論股價上漲或下跌,都能產生 和某個選擇權完全相同的損益,那麼今天這兩者的價格就必須相同;否則市場上就會出現無風險套利機會。 Binomial Tree Option Pricing Formula 假設要讓投資組合變成無風險投資組合 也就表示在「上漲」與「下跌」兩種情況下,投資組合的最終價值完全一樣 這個 Δ 就是所謂的 Delta 避險比率(hedge ratio)。 假設無風險利率為 r ,由於這個投資組合已經沒有風險,因此它應該只能賺取 無風險利率 。 到期時投資組合價值折現回今天為: 因此目前投資...

Monte Carlo Simulation_求圓周率π

圖片
  蒙特(地)卡羅 模擬 是科學計算中最重要且最普遍的數值方法之一。利用電腦模擬一個理想環境,然後利用亂數產生大量隨機狀況,藉以探討許多難以進行實際試驗的理論。 最早應用於曼哈頓計畫(Manhattan Project),之後也被用於氫彈的研發。 後續時常用在經濟學、物理學(量子、熱力)、機器學習等領域 蒙地卡羅是摩納哥親王國最著名的一區,以豪華的賭場聞名於世。 20世紀40年代,在科學家馮·紐曼、斯塔尼斯拉夫·烏拉姆、尼古拉斯·梅特羅波利斯三位科學家在洛斯阿拉莫斯國家實驗室為核武器計劃工作時,發明了蒙地卡羅方法。 會取這個名稱,是因為烏拉姆的叔叔在摩納哥的蒙地卡羅賭場輸了很多錢。 1940年代美國研發核子武器時,採用電腦模擬進行爆炸威力研究,這個方法運用到機率及亂數來模擬中子碰撞所產生的能量,頗有賭博的意味,所以就用「蒙地卡羅」來命名。 優點 廣泛應用於 量化金融(Quantitative Finance) ,近年隨著 GPU 的發展而更加普及。 當評價問題中包含大量隨機因素,多到無法直接使用一般數值方法進行評價時,蒙地卡羅模擬特別有用。 當標的變數的機率分布較為複雜,使得直接求解相當困難時,也適合使用蒙地卡羅模擬。 適合處理**報酬取決於標的資產價格路徑(Path-dependent)**的金融商品。 缺點 使用蒙地卡羅方法評價美式選擇權(American Options)並不容易,雖然仍有方法可以做到。 計算效率相對較低,通常需要進行大量模擬,才能使選擇權價格逐漸收斂到較穩定的結果。 求圓周率π 圓的周長和其直徑的比率,約等於3.14159265358979323846264.... 它在18世紀中期之後一般用希臘字母 π 來表示 中國南宋朝數學家祖沖之,曾經用幾何方法將圓周率計算到小數點後7位數字。因此,數學界又將圓周率敬稱祖率。 測試程式碼(原子分布狀態模擬10000個點) import numpy as np import pylab as plt batch = 10000 #隨機產生 10000 個二維座標點 (x, y) #其中 x、y 都介於 0~1 之間,最後畫成散佈圖(Scatter Plot)。 #uniform(平均分布)->位於0~1之間機率都是一樣的 xs = np.random.uniform...

人工智慧金融投資決策_蒙地卡羅模擬歐式買權定價演算法

圖片
用蒙地卡羅法估算歐式買權1000次股價路徑 假設有一個商品50元,買家先跟賣家先約定好一年後要用60元去購買此商品。 若我們能夠預先估測一年後此商品出現在不同價位的機率是多少,那賣家就可以去估測賣給買家的這份合約應該值多少錢,而這有一個公平計價基準,也就是選擇權定價。 Black-Scholes 選擇權定價公式 買權(Call Option) ​ 賣權(Put Option) ​ 其中: S 0 S_0 S 0 ​ : 目前股票價格 ,也就是時間 t = 0 t=0 t = 0 時的股價。 K K K : 履約價格(Strike Price) 。 r r r : 無風險利率(Risk-free Rate) 。 T T T : 選擇權剩餘期間 ,以「年」為單位;實務上通常以交易日換算,例如一年約 252 個交易日 。 σ \sigma σ :股票價格的 年化波動率(Volatility) 。 N ( x ) N(x) N ( x ) : 標準常態分布的累積分布函數(CDF) 。 而 N ( x ) N(x) N ( x ) 可以理解成一個標準常態分布隨機變數,小於等於 x 的累積機率。 其數學表示為: 白話理解 Black-Scholes 公式就是利用 目前股價、履約價、無風險利率、到期時間、波動率 這 5 個主要因素,計算歐式買權與賣權的理論價格。 其中 d 1 d_1 d 1 ​ 、 d 2 d_2 d 2 ​ 可以先把它們視為公式中的「中間計算值」, 再透過標準常態分布的累積機率 N ( d 1 ) N(d_1) N ( d 1 ​ ) 、 N ( d 2 ) N(d_2) N ( d 2 ​ ) ,最後算出 Call 與 Put 的理論價格。 這邊用到Monte Carlo Simulation給予一些前置假設,嘗試去模擬一千到一萬次股價分佈,去計算期望值反推。 也可以白話來理解為 未來的股票價格變動 = 可預期的報酬趨勢 + 無法預測的隨機波動。 先備知識可參考蒙地卡羅求解圓周率 https://coolmandiary.blogspot.com/2026/08/monte-carlo-simulation_0688571789.html 蒙地卡羅法放到金融市場 一般化的維納過程(Wiener proce...

DSP筆記1_使用 NumPy自帶的fft做_觀察fft結果、ifft後的訊號波形圖、頻率對應相位

圖片
https://www.sintef.no/en/expert-list/digital/sustainable-communication-technologies/signal-processing-and-machine-learning/ 在Python當中我們可使用 FFT 函式,將時域訊號轉換成頻域訊號。 例如使用 NumPy自帶的: import numpy.fft as fft 而另一套scipy引入方式則是用 import scipy.fftpack as scifft fft功能:主要就是把時間序列訊號做FFT,獲得其幾個頻率、振福和初始相位。 ifft功能:也就是把複數值序列做傅立葉逆變化,獲得複數值的訊號,取其實部,是時頻訊號。可以寫出訊號的余弦函數的結構式。 以下就DSP幾個術語做個介紹 訊號頻率: 指訊號本身週期性變化的速度,通常使用 f 表示,單位為赫茲(Hz)。 例如,一秒鐘重複 10 次的訊號,其頻率為 10 Hz。 取樣頻率: 指每秒鐘對連續訊號取樣的次數,通常使用 Fs 表示,單位也是 Hz。 表示每秒取得 100 個取樣點。 奈奎斯(Nyquist-Shannon sampling theorem)取樣定理: 為了正確還原訊號,取樣頻率至少必須大於訊號最高頻率的兩倍。 舉例:像是人類聽力範圍坐落於20赫茲-20000赫茲(20kHz) 根據奈奎斯取樣定理,fs > 2 fH 也就是 fs > 2 * 20kHz 目前網際網路流傳的音樂檔mp3,其取樣頻率也通常是設在44kHz、48kHz。 實際應用通常會選擇比兩倍更高的取樣頻率,以降低混疊現象。 FFT 頻譜幅值: fft_magnitude = np.abs(np.fft.fft(signal, n=NFFT)) np.abs() 用來計算 FFT 複數結果的絕對值,也就是頻譜的幅值。 振幅(頻)譜(amplitude spectrum): 透過傅立葉變換(Fourier Transform)將時域訊號轉成頻域後,取其絕對值或強度大小而得到的結果。 能量訊號: 若訊號振幅的絕對值平方,在整個時間範圍 (−∞,+∞) 內的積分為有限值,則稱為能量訊號。 常見例子包括有限時間的方波訊號、三角形訊號、脈衝訊號、暫態訊號、非週期性的確定訊號,以及非隨機訊號。 能量頻譜:...