跳到主要內容

發表文章

目前顯示的是 2014的文章

[Python] 簡單的互動猜數字遊戲

這是要介紹利用 Python 3.4 (Python 官方載點) 來撰寫一個簡單的猜數字遊戲
(NOTE: 一定要使用 python 3.x 避免錯誤的訊息)

想法:
首先Python會詢問玩家姓名,然後玩家輸入完畢之後,我們接著讓 python 產生 1~20 個的隨機整數,並邀請玩家在 有限猜測次數內猜對電腦產生的隨機整數(下面程式碼為1次)。我們首先會引入 random 函式庫來幫助我們建構隨機數 再透過 while /if 判斷式來提示玩家所猜的數字是太高或者太低。


以下我們用 python idle 介面撰寫程式碼如下:


用到的函數功能:

random.randint(1,20) := 表示利用 random 函式庫產生 1~20 隨機整數print('...'):= 在螢幕上顯示 '字串' (利用 ' ')input():=會要求玩家輸入值str():= 將資料轉換回字串int():= 將資料轉換回整數while := 無窮迴圈 if:= 判斷

程式執行結果為

ref: Al Sweigart, Invent Your Own Computer Games with Python, 2nd Edition

2014/12/24 板橋長老教會燭光平安夜

歡迎一同前往 :)
願神的平安常常與我們同在

==========================

相關連結 關於板橋基督長老教會: 板橋基督長老教會華語禮拜 Facebook專版板橋基督長老教會華語禮拜敬拜讚美 Youtube頻道主日禮拜時間:
《台語禮拜》週日上午09:30~11:00
《國語禮拜》週日上午11:05~12:30
教會地址:台北縣板橋市明德街1巷3號
連絡電話:02-29687749
駐堂牧者:洪英俊 牧師

[數學分析] Inverse Function Theorem

想法:
這次要介紹數學分析理論中一個重要的定理,稱作 反函數定理 (Inverse Function Theorem),簡而言之,反函數定理指出 一個 連續可微函數 $f$,若我們考慮點 $x$ 可使其 Linear transformation $f'$ 為 invertibale,則該點 $x$ 附近的 $f'$ 都為 invertible。

Comments:
1. 上述我們所提及的 invertible 我們指 一個 Linear transformation 為 invertible,嚴格來說定義如下:若  linear transformation $A: X \to Y$ 為 invertible,若下列條件滿足:
    (a.) $A$ 為 one-to-one: (i.e., $A x = Ay \Rightarrow x =y$)
    (b.) $A(X) = Y$ (i.e., $A$ maps $X$ onto $Y$ or 對任意 $y \in Y$, 存在 $x \in X$ 使得 $Ax = y$ )

2. 以下討論我們皆以 多變數向量函數 為主,亦即
若 $A \subset \mathbb{R}^n$ 且 $B \subset \mathbb{R}^m$,$n,m \in \mathbb{N}$ 則我們稱 $\bf f$ $: A \to B$ 為多變項量函數 (vector function of several variables.)


接著我們介紹何謂 $C^1$ 函數:
================
Definition: $C^1$ Continuously differentiable
我們稱一個可導的 mapping ${\bf f}: E \subset \mathbb{R}^n \to \mathbb{R}^m$ 為 continuously differentiable in $E$ (記做 ${\bf f} \in C^1(E)$) 若下列條件成立:
${\bf f}':E \to L(\mathbb{R}^n, \mathbb{R}^m)$ 為 continuous mapping ;亦即 對任意 ${\bf x} \in E$ 且 任意 $\varepsilon >0$,…

[分享] Python 簡易安裝 - Anaconda

Python  (原文是大蟒蛇) 是一套程式語言,標榜簡潔易學,但由於其原始版本並沒有整合一些科學計算常用的模組,比如在數學工具常需要用到的  NumPy 模組,使用者需要再另外自行安裝這些模組套件,故這次要介紹只要安裝一個版本就可以將其常用的各種模組一網打盡的懶人?安裝方法:稱作 Anaconda  (也是一種大蟒蛇 (常指 一種叫做 森蚺 的蟒蛇 )!!)。

安裝 Anaconda 最大的好處是其支援各種作業平台 (Windows/Mac/Linux) 且完全免費,另外像是好用的 web 編碼 IPython Notebook 也整合在 Anaconda 中,可以供使用者方便在整合的環境中操作。

方法非常簡單,請至 Anaconda Scientific Python 下載 Anaconda 並安裝即可

Anaconda Scientific Python 網站

網頁開啟之後如圖所示點選下載 Download Anaconda


填入 E-mail 即可免費下載


安裝完畢 (這邊以 Windows 8 為例 (MAC 會直接顯示在桌面上)  可以再應用程式區看到


點選 Launcher 即可開始使用 Python。執行後會看到如下畫面



上圖中三種工具都可以寫 Python 程式,可依讀者喜好選用喜歡的介面嘗試。對於初學 Python 的讀者而言,個人推薦使用 Ipython-notebook 的互動式 Web 編輯介面。


那麼安裝完之後該怎麼開始學習呢?

免費學習 Python 的相關資源,如果不排斥英文的讀者,個人推薦可至 codecademy step-by-step 練習基本語法與相關功能e.g., 運算、類別、迴圈、型別;
另外亦可至 Udacity 中報名課程 Programming Foundation with Python 學習更一些直接的 Python 應用;或者 Introduction to Computer Science (with Python)

至於習慣中文的讀者可至 政大應數系 曾正男 教授的個人 BLOG 裡面也有相當豐富的 Python Note 學習。

另外如果是喜歡遊戲設計的讀者,個人推薦至 Program Arcade Games with Python and Pygame
網站。

[機率論] Martingale (3) - Example

Example: 令 $\{X_n\}$ 為 Martingale with Filtration $\mathcal{F_n}$,假設 $T$ 為 stopping time。試證 $Y_n:=X_{\min(n,T)}$ 為 Martingale with $\mathcal{F_n}$。

Proof:
首先證明 (1) $E|Y_n| < \infty $:
注意到:
\[\begin{array}{l}
{Y_n}: = {X_{n \wedge T}} = {X_n}{1_{n{\rm{ < }}T}} + {X_T}{1_{T \le n}}\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = {X_n}{1_{n{\rm{ < }}T}} + \sum\limits_{m = 1}^n {{X_T}{1_{T = k}}}
\end{array}\]故
\[\begin{array}{l}
E\left| {{Y_n}} \right| = E\left| {{X_{n \wedge T}}} \right| = E\left| {{X_n}{1_{n{\rm{ < }}T}} + \sum\limits_{m = 1}^n {{X_T}{1_{T = k}}} } \right|\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} \le E\left| {{X_n}{1_{n{\rm{ < }}T}}} \right| + \sum\limits_{m = 1}^n {E\left| {{X_T}{1_{T = k}}} \right|} \\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} \le E\left| {{X_n}} \right| + \sum\limits_{m = 1}^n {E\left| {{X_T}} \right|}  < \infty
\end{array}\]

接著我們證明 (2) : $Y_n \in \mathcal{F}_n $
觀察 \[{Y_n}: = {…

[數學分析] Compactness 與 Totally Boundedness

令 $X$ 為 metric space 且 metric 為 $d$;亦即 $(X,d)$ 為 metric space。

==========================
Definition: Compact Metric Space
(a) 由 open subsets 所形成的集合  $\{G_\alpha\}_{\alpha \in A} $ 被稱為 open cover 若 下列條件成立:
對任意 $x \in X$ 存在 $\alpha \in A$ 使得 $x \in G_\alpha$。

若 index set $A$ 為 finite 則 $\{G_\alpha\}$ 為 finite open cover。

(b) 我們說 metric space $(X,d)$ 為 compact 若下列條件成立:
對任意 open cover of $X$,存在 有限個 subcover of $X$。
==========================

Comment
注意到上述定義在 metric space $(X,d)$ 之上,若我們現在考慮其上的子集合:
\[
A \subset X
\]則 $A$ 仍為一個 metric space 且 metric 為 $d$;亦即 $(A,d)$ 仍為一個 metric space。


==========================
Definition: Compact Set
集合 $A \subset X$ 為 compact 若下列條件成立:
metric space $(A,d)$ 為 compact (亦即:對任意 open cover 存在 有限 subcover of $A$。)
==========================



========================== Definition: Relatively Compact
集合 $A \subset X$ 稱為 relatively compact 若下列條件成立
\[
\bar A \subset X \text{ is compact}
\]上述 $\bar{A}$ 表示 closure of $A$
==========================

========================== Theorem…

[數學分析] Weierstrass Theorem (1) - 先備概念

回憶在數學分析的內容中,我們試圖利用 $\mathbb{Q}$ 在 $\mathbb{R}$ 中 dense的想法,指出 任意在 $\mathbb{R}$ 上的實數 $r$,皆可透過 一組 sequence $\{q_n\} \in \mathbb{Q}$ 逼近 。也就是說 $q_n \rightarrow r$ 當 $n \rightarrow \infty$。那麼我們想問在函數上是否也有類似的概念? Weierstrass Approximation Theorem 便是試圖回答這個問題。

Weierstrass  Approximation Theorem 主要想法: 利用多項式 均勻收斂 連續函數!!

不過在介紹之前,我們需要一些先備知識。
首先看個 算子 (operator) 的概念:
定義 $A: \text{one function} \rightarrow \text{different function}$ 為一個算子(operator)

我們看個例子:

------------ Example Fourier transform of 函數 $f$ 為一個算子 (將函數 $f$ 映射到另一個函數 $F$) \[F(j\omega ) = \int_{ - \infty }^\infty  f (t){e^{ - j\omega }}dt
\]-----------
那麼算子何其多? 哪一種算子適合我們?? 以下我們介紹一個即為有用的特殊算子:摺積(Convolution)

=================== Definition: Convolution (Integral) 給定兩可積函數 $f,g$ on $\mathbb{R}$,則其折積(convolution) 定義為 \[(f*g)\left( x \right): = \int f (x - y)g(y)dy = \int g (x - y)f(y)dy
\]===================
Example $f,g$ 為在 $[-1,1]$ 上的週期函數,且 $|\delta| <1$ \[f\left( x \right): = \left\{ \begin{array}{l} 1/2\delta ,\begin{array}{*{20}{c}} {}&{} …

[系統理論] 透過 Fourier transform of correlation function 求隨機過程的頻譜

這次要介紹對於一個 隨機過程而言,如何對其討論 Fourier transform ?

給定 廣義平穩 (Wide-sense stationary (WSS) )隨機過程 $X_t$,其 autocorrelation function  僅與任意給定兩時刻 $t_1, t_2$之差有關,故我們定義
\[
E[X_{t_1} X_{t_2}] :=R_X(t_1 - t_2)
\]現在令 $t_1 = t + \tau$ 且 $t_2 = t$ 我們可將上式 autocorrelation function, $R_X(t_1 - t_2)$ 用一單變數函數改寫,記做 $R_X( \tau)$ 且滿足下列定義
\[
R_X(\tau) :=E[X_{t + \tau}X_{t}]
\]

我們可對 $R_X(\tau)$ 取 Fourier transform 如下
\[
S_X(f) := \int_{-\infty}^{\infty}R_X(\tau)e^{-j 2 \pi f \tau}d\tau
\]且 Inverse Fourier transform
\[
R_X(\tau) = \int_{-\infty}^{\infty}S_X(f) e^{j 2 \pi f \tau} d f
\]
Comment:
上述 $S_X(f)$ 又稱為功率頻譜密度( power spectral density ),我們會在以下說明。


隨機過程的功率 以及 功率頻譜 (Power Spectral and Power in Process)
為了解釋上述的結果現在我們從能量觀點來觀察一個隨機過程:
對一個隨機過程 $X_t$ 其 total energy 定義為
\[
\int_{-\infty}^{\infty} X_t^2dt
\] 而我們亦可定義 平均功率 (average power) 為
\[
\lim_{T \rightarrow \infty} \frac{1}{2T} \int_{-T}^{T} X_t^2 dt
\]但由於上述 total energy 與 average power 為對隨機過程平方做積分,其積分結果仍為隨機變數。故我們需加上期望值確保其不再隨機。故我們定義 期望平均功率(expected average power)
\[
P_X …

[隨機過程] 布朗運動的 Reflection Principle 與 First Passage Time Problem

定義 $\{ W_t\}$ 為標準布朗運動。現給定常數邊界 $b >0$,定義 停止時間 (stopping time) 或稱 首次穿越時間 (First passage time)
\[
\tau_b := \inf \{ t : W_t \ge b\}
\]
我們想要計算 $P(\tau_b \le t) = ?$

上述問題稱為 首次穿越時間問題 (First passage time (FPT) problem)

=========
那麼如何求解上述FPT問題呢?

首先注意到
\[
\{ \tau_b \le t, W_t >b \} \equiv \{ W_t > b\}
\] 上式成立由於布朗運動的 sample path 連續性 (Path Continuity),與 $W(0)=0$,故 $W_t > b  \Rightarrow \tau_b \le t$,亦即 $\{ W_t > b\} \subset \{ \tau_b \le t\}$。故
\[
\{ \tau_b \le t, W_t >b \} \equiv \{ W_t > b\}
\]

現在我們計算 $P(\tau_b \le t) $,利用 Law of total Probability 可得
\[\begin{array}{l}
P({\tau _b} \le t) = P({\tau _b} \le t,{W_t} < b) + P({\tau _b} \le t,{W_t} > b) \\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = P({W_t} < b|{\tau _b} \le t)P\left( {{\tau _b} \le t} \right) + P({\tau _b} \le t,{W_t} > b)\\
\begin{array}{*{20}{c}}
{}&{}&{}&{}
\end{array} = P({W_t} < b|{\tau _b} \le t)P\left( {{\tau _b} \le t} \right) + P({W_t} > b) ....\ \ \ \ (…

[線性系統] 控制性矩陣 與 非奇異轉換 (Controllability matrix & Non-singular transformation)

延續先前線性系統理論 對於非奇異轉換的討論,由於 轉移函數 用 State space 表示實現的方法並不唯一;e.g., controllable canonical form, observable canonical form, digonal form. 故現在我們再進一步審視此問題

給定轉移函數 $H(s)$,現考慮對此轉移函數的任兩種 狀態空間實現 $\Sigma$ 與 $\tilde \Sigma$
\[\left\{ \begin{array}{l}
\Sigma  = (A,B,C,D)\\
\tilde \Sigma  = (\tilde A,\tilde B,\tilde C,\tilde D)
\end{array} \right.\],亦即
\[
H(s) = H_{\Sigma }(s) = C(sI-A)^{-1}B + D \equiv  \tilde{C} (sI- \tilde A)^{-1} \tilde B + \tilde D = H_{\tilde{\Sigma }}(s)
\]

那麼我們想知道是否存在一個 $n \times n$ 的非奇異轉換矩陣 $T$ 使得 我們有映射 $\Sigma \rightarrow \tilde \Sigma$

由先前文章可知,$\tilde A = T A T^{-1}$,$\tilde B = TB$,$\tilde C = C T^{-1}$,$\tilde D = D$,現在觀察下式
\[\left\{ \begin{array}{l}
\tilde B = TB\\
\tilde A\tilde B = \left( {TA{T^{ - 1}}} \right)TB = TAB\\
{{\tilde A}^2}\tilde B = \left( {TA{T^{ - 1}}} \right)TAB = T{A^2}B\\
 \vdots \\
{{\tilde A}^{n - 1}}\tilde B = \left( {TA{T^{ - 1}}} \right)TAB = T{A^{n - 1}}B
\end{array} \right.
\] 我們可以看出上式中一些運算的規則,現在將其改寫為更簡潔的形式如下
\[\underbrace {\left[ {\begin{array…

[線性系統] 實現定理 與 非奇異轉換

這次要介紹 線性系統理論 中的一個重要結果:稱作實現理論 ( Realization Theory )

考慮一個轉移函數 $H(s)$ 可以將其由 狀態空間表示,我們記做 $\Sigma$。
其中
\[\Sigma : = \left\{ \begin{array}{l}
\dot x = Ax + Bu\\
y = Cx + Du
\end{array} \right.
\] 則我們有以下定義:
==============
Definition: Realization
令 $H(s)$ 為給定轉移函數,則我們說 其狀態空間 $\Sigma $  為 $H(s)$ 的實現 (Realization) 若下列條件成立:
\[
C(sI-A)^{-1}B + D = H(s)
\]
=============
Comments:
1. 上述 實現(Realization) 意指可以透過 實體電路 (e.g., OP放大器等) "實現" 狀態方程。
2. 設 $\sum = (A,B,C,D) $ 為 $H(s)$ 的實現,現在定義 $T$ 為任意 $n \times n$ 的非奇異矩陣 (non-singular matrix),則我們可以定義下列 新系統 以狀態空間表示:
\[
\tilde {\sum} = (\tilde A, \tilde B, \tilde C, \tilde D)
\]
其中 $\tilde A = TAT^{-1}$, $\tilde B = TB$, $\tilde C = CT^{-1}$, $\tilde D = D$。

那麼現在我們來看看此新系統的轉移函數為何?

\[\begin{array}{l}
\tilde C{(sI - \tilde A)^{ - 1}}\tilde B + \tilde D = C{T^{ - 1}}{(sI - TA{T^{ - 1}})^{ - 1}}TB + D\\
 \ \ \ \ \ \ \ \ = C{T^{ - 1}}{(sT{T^{ - 1}} - TA{T^{ - 1}})^{ - 1}}TB + D\\
  \ \ \ \ \ \ \ \ = C{T^{ - 1}}{\left( {T\left( {sI - A} \right){T^{ - 1}}} \righ…

[線性系統] 線性動態系統的表示法: 轉移函數 與 狀態空間表示

這次要介紹線性系統理論中對於動態系統的表示方法:
一般而言,線性動態系統 可以用 線性微分方程(O.D.E.) 來表達,但在控制理論中亦提供兩種不同的方法來表達動態系統:

一種稱為 轉移函數(transfer function) 表示法 (主要工具為 拉式轉換)
一種稱為 狀態空間(state space) 表示法 (主要工具為 矩陣線性代數)

那麼同一種 動態系統間,不同的表示法 可以互相等價轉換,現在我們先看個例子:

Example: Dynamic System to Transfer function
考慮下列動態系統微分方程
\[
\frac{{{d^3}y}}{{d{t^3}}} + 6\frac{{{d^2}y}}{{d{t^2}}} + 5\frac{{dy}}{{dt}} - 4y = u\left( t \right) + 2\frac{{du\left( t \right)}}{{dt}}
\] 那麼我們可以對其取拉式轉換(Laplace Transform) $\mathcal{L}(\cdot)$ 來求取轉移函數,亦即
\[\begin{array}{l}
{{\cal L}}\left\{ {\frac{{{d^3}y}}{{d{t^3}}} + 6\frac{{{d^2}y}}{{d{t^2}}} + 5\frac{{dy}}{{dt}} - 4y} \right\} = {{\cal L}}\left\{ {u\left( t \right) + 2\frac{{du\left( t \right)}}{{dt}}} \right\}\\
 \Rightarrow \left\{ \begin{array}{l}
{s^3}Y\left( s \right) - {s^2}y\left( 0 \right) - s{y^{\left( 1 \right)}}\left( 0 \right) - {y^{\left( 2 \right)}}\left( 0 \right)\\
 + 6\left( {{s^2}Y\left( s \right) - sy\left( 0 \right) - {y^{\left( 1 \right)}}\left( 0 \right)} \right)\\
 + 5\left( {sY\left( s \…

[MATLAB] cdfplot 圖形變色的小技巧

這次要介紹一個 繪製機率常用 的指令:

cdfplot

此指令用來繪製 empirical cumulative probability distribution function, cdf:

用法如下:

cdfplot(X)


其中 X 為產生的隨機變數

下圖即為使用cdfplot所產生的圖形的一個例子:

另外要介紹一個小技巧:
如果想要呈現兩張以上的 cdf 圖形,則使用不同顏色來區別會是一個好方法,但是 cdfplot指令並不支援使用者改變顏色,故我們可以使用 set 指令來幫助我們 (亦可使用 plot tool 來改變顏色):

假設有兩組隨機變數 X, Y, 那麼使用不同顏色的 cdfplot 方法如下:

    cdfplot(X) %繪製藍色線條 X 的cdf

    hold on

    Y_color = cdfplot(Y) %繪製紅色線條 Y 的 cdf 並記做 Y_color

    set(Y_color ,  'Color' ,  'red'); %設定顏色

    legend('X', 'Y') %對應資料名稱

    grid on%開啟網格

那麼執行後圖形如下:(下圖的 X 與 Y 為透過 randn.m 指令產生 1,000 組 隨機變數 繪製而成)

[機率論] Martingale (2)- Martingale Convergence Theorem

假設 $X_n, n\ge 0 $ 為 submartingale。令 $a<b$ 且 $N_0 := -1$ 與 對任意 $k \ge 1$ 我們定義 stopping time 如下:
\[\begin{array}{l}
{N_{2k - 1}}: = \inf \left\{ {m > {N_{2k - 2}}:{X_m} \le a} \right\}\\
{N_{2k}}: = \inf \left\{ {m > {N_{2k - 1}}:{X_m} \ge b} \right\}
\end{array}
\] 且我們觀察以下事件
\[\begin{array}{l}
\{ {N_{2k - 1}} < m \le {N_{2k}}\}  = \{ {N_{2k - 1}} < m\}  \cap \{ m \le {N_{2k}}\} \\
\begin{array}{*{20}{c}}
{}&{}&{}&{}&{}&{}&{}&{}&{}
\end{array} = \underbrace {\{ {N_{2k - 1}} \le m - 1\} }_{ \in {F_{m - 1}}} \cap \underbrace {{{\{ {N_{2k}} \le m - 1\} }^c}}_{ \in {F_{m - 1}}} \in {F_{m - 1}}
\end{array}\]

==============
Fact: 若 $X_m, m\ge 0$ 為 submartingale 則
\[
(b-a)EU_n \le E(X_n -a)^+ - E(X_0 - a)^+
\]其中 ${U_n}: = \sup \left\{ {k:{N_{2k}} \le n} \right\}$ 表示在 時間$n$ 之前 往上穿越的個數
==============
Proof: omitted.

==========
Theorem: Martingale Convergence Theorem
若 $X_n$ 為 submartingale 滿足 $\sup E[X_n^+] < \infty$ 則存在 $X$ 使得 $X_n \to X$ almost su…

[機率論] 淺論 Martingale (1) - 何時能 贏 or 輸掉賭局?

(NOTE: 此文為數學機率論相關文章,並無任何介紹任何賭博手法/訣竅...)

回憶前篇文章 [機率論] 淺論 Martingale (0) - 定義與性質 提及的

考慮一個硬派賭徒參加一場丟擲硬幣賭錢的遊戲,且若硬幣正面向上,則賭徒會贏得下注金並且停止遊戲 (take money and run),反之,若硬幣反面向上,則賭徒輸掉下注金但此時因為賭徒並不甘心..所以會將 賭注加倍 再繼續玩。持續 $n$ 次這樣的遊戲。那麼這位賭徒宣稱靠這套 "必勝法" 最後可以贏得一筆大錢 (至少不賠本);因為只要過程中贏得一場就可以獲得相對的加倍下注金!!

此套賭徒所宣稱的 必勝法在數學上稱做 Martingale System;我們將會在此篇文章檢驗此 Martingale 加倍賭注策略,看看之前賭徒宣稱的必勝法是否有效。

不過介紹之前需要再引入一些術語:

===========
Definition: Predictable Sequence
令 $\mathcal{F}_n, n \ge 0$ 為 Filtration , 我們稱 $H_n, n\ge 1$ 為 Predictable sequence 若下列條件成立: 若 $H_n \in \mathcal{F}_{n-1}, \; \forall n \ge 1$ (亦即 $H_n$ 為 $\mathcal{F}_{n-1}$ measurable)
===========

現在我們再次考慮 投擲銅板的賭博:若銅板正面則賭徒贏得 1元,若顯示為銅板背面則賭徒輸掉 1元。令 $X_n$ 為在 $n$ 次時賭徒的 淨收入/損失。則我們可以定義 在第 $n$ 次賭博時賭徒 "總" 贏/輸錢的量
\[{\left( {H \cdot X} \right)_n}: = \sum\limits_{m = 1}^n {{H_m}\left( {{X_m} - {X_{m - 1}}} \right)}  = \sum\limits_{m = 1}^n {{H_m}{\xi _m}}
\]其中 $\xi_n := X_n - X_{n-1}$ 表示第 $n$ 次賭博到底是贏 或者 輸 的單次金額; $H_n$ 則表示成 第 $n$ 次賭博 時候 賭徒所下注的賭金量。

Comment:
上式 $(…

[機率論] 淺論 Martingale (0) - 定義與性質

關於 Martingale Theory (中文譯作 鞅論),原本 Martingale 指的是套在馬身上的韁繩
https://commons.wikimedia.org/wiki/File:Martingale_(PSF).png

在機率論中,Martingale 泛指一類特定的隨機過程。起初的想法如下:

考慮一個硬派賭徒參加一場丟擲硬幣賭錢的遊戲:若硬幣正面向上,則賭徒會贏得下注金並且停止遊戲 (take money and run),反之,若硬幣反面向上,則賭徒輸掉下注金。

但此時因為賭徒並不甘心..所以他採取的策略是把 賭注加倍 再繼續玩。持續 $n$ 次這樣的遊戲。那麼這位賭徒宣稱靠這套 "必勝法" 最後可以 贏得一筆大錢 or 至少不輸;因為只要過程中贏得一場就可以獲得相對的加倍下注金!! (但此法真的可行嗎? 我們會在後續在做介紹)


現在我們引入嚴格定義:

=================
Definition: Filtration Adaptedness
令 $\mathcal{F}_n$ 為 filtration (亦即 $\sigma$-algebra $\mathcal{F}_n \subset \mathcal{F}_{n+1}, \; \forall n$) 則我們說 $X_n$ 為 adapted to $\mathcal{F}_n$ 若 $X_n $ 為 $\mathcal{F}_n$-measurable。

我們說一個 random sequence $\{X_n\}$ 為 Martingale with respect to $\{\mathcal{F}_n\}$若下列條件成立:
1. 可積條件:$E|X_n| < \infty$
2. 可測條件:$X_n$ 為 adaptedto $\mathcal{F}_n$ ($\forall n$, $X_n $ 為 $\mathcal{F}_n$-measurable)
3. Martingale 性質:對任意 $n$,$E[X_{n+1}|\mathcal{F}_n] = X_n$
=================

Comment:
若上述定義中的 Martingale 性質 的 $=$ 號 換成 $\le$ 則我們稱 $\{X_n\}$ 為 supe…

[隨機分析] Black-Scholes PDE for European Call option (1)

延續上篇 [隨機分析] Black-Scholes PDE for European Call option (0),這次要來證明 Black-Scholes Formula
\[
{\scriptsize f(t,S_t) = S \Phi \left( \frac{\ln(S_t/K) + (r+\frac{1}{2} \sigma^2) (T-t) }{\sigma \sqrt{T-t}}\right) - K e^{-r (T-t)} \Phi \left( \frac{\ln(S_t/K) + (r - \frac{1}{2}\sigma^2) (T-t) }{\sigma \sqrt{T-t}}\right)}
\]其中 $\Phi (\cdot)$ 為 Standard Normal Cumulative distribution function (CDF)

現在令 $x= S_t$,上述的 Black-Scholes Formula 確實為 Black-Scholes PDE 的解,亦即上式為下列PDE的解:
\[
rf(t,x) = {f_t}(t,x) + rx{f_x}(t,x) + \frac{1}{2}{f_{xx}}(t,x){\sigma ^2}{x^2}
\]且滿足終端邊界條件 $f(T,x) = h(x), \ \forall x \in \mathbb{R}$


我們將分成下列幾個小步驟逐步完成此證明:


步驟1:首先證明下列等式成立:

Claim 1: $K e^{-r(T-t)} \Phi ' (d_2(T-t,x)) = x \Phi' (d_1(T-t,x))$
其中
\[
d_1 (T-t, x) =  \frac{\ln(x/K) + (r+\frac{1}{2} \sigma^2) (T-t) }{\sigma \sqrt{T-t}} \\
d_2 (T-t,x) =  \frac{\ln(x/K) + (r - \frac{1}{2}\sigma^2) (T-t) }{\sigma \sqrt{T-t}} \\
\]
Proof
我們證明
\[
K e^{-r(T-t)} \Phi ' (d_2(T-t,x))- x \Phi' (d_1(T-t,x))=0
\]由於 $\Phi (\cd…