⑴ 如果用matlab驗證股票的收盤價符合對數正態分布
先導入數據,然後取收盤價的對數值即y=ln(y)
clc;clear
y=ln(y)
Std=std(y) %標准差
[F,XI]=ksdensity(y)
figure(1)
plot(XI,F,'o-')
x =randn(300000,1);
figure(2)
[f,xi] = ksdensity(x);
plot(xi,f);
畫出概率分布圖
ksdensity -------------------- Kernel smoothing density estimation.
表示核平滑密度估計
⑵ 如何用matlab模擬帶跳躍的股票價格 dp(t)=μ(t)dt+σ(t)dWt+k(t)dq(t),Wt為維納過程,跳躍服從泊松分布
額,應該沒人去試。
⑶ 如何用matlab計算期權價格
參考論文
期權定價理論是現代金融學中最為重要的理論之一,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的一個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。
關鍵詞:Matlab;教學實踐
基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128)
中圖分類號:F83文獻標識碼:A
收錄日期:2012年4月17日
現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的一門學科。定量分析必然離不開相應計算軟體的應用,Matlab就是一款最為流行的數值計算軟體,它將高性能的數值計算和數據圖形可視化集成在一起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。
一、Black-Scholes-Merton期權定價模型
本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
無風險資產價格R(t)服從如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標准Brown運動。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
歐式看漲期權是一種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買一種資產(標的資產)的權力。在風險中性世界裡,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在風險悔慎中性世界裡,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得歐式看漲期權價格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
這里:
d1=■(7)
d2=■=d1-s■(8)
N(x)為均值為0標准差為1的標准正態分布變數的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是一種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。
下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括一碧此敬個看漲期權加上Xe-r(T-1)資金,組合2包含一個看跌期權加上一股股票。於是,在到期時兩個組合的價值必然都是:
max{X,S(T)}(9)
歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系扒簡(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付紅利歐式看跌期權的價格為:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab實現
1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格一般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要將各參數值直接輸入即可,下面給出一個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為:
輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1)
輸出結果為:call=1.0083put=5.9334
即購買一份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。
2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟體,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生一個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律:
(1)看漲期權價格股票價格變化規律
輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('圖1看漲期權價格股票價格變化規律');
xlabel('股票價格');ylabel('期權價值');grid on
(2)看漲期權價格隨時間變化規律
輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('圖2看漲期權價格隨時間變化規律');
xlabel('到期時間');ylabel('期權價值');grid on
(3)看漲期權價格隨無風險利率變化規律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('圖3看漲期權價格隨無風險利率變化規律');
xlabel('無風險利率');ylabel('期權價值');grid on
(4)看漲期權價格隨波動率變化規律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('圖4看漲期權價格隨波動率變化規律');
xlabel('波動率');ylabel('期權價值');grid on
(作者單位:南京審計學院數學與統計學院)
主要參考文獻:
[1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9.
[2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011.
[3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.
⑷ matlab同時可以預測多少股票
matlab同時可以預測多少股票
可以同時預測3支股票
(1)根據評價指標集, 確定BP 網路中輸入節點的個數, 即為指標個數;
(2)確定BP 網路的層數, 一般採用具有一個輸入層, 一個隱含層和一個輸出層的三層網路模型結構; 明確評價結果, 輸出層的節點數為1;
(3)對指標值進行標准化處理, 然後作為訓練樣本和檢驗樣本;
(4)網路狀態初始化, 對連接權值wij 和閾值θj賦予( 0, 1)之間的隨機數;
(5)輸入樣本, 從前往後計算各層神經元輸出yj ;
(6)對輸出層計算權值誤差E;
(7)從後往前計算各隱層的權值誤差δ'j =f '(netj)·l !δlvlj ;
(8)計算並保存各權值修正4量Δwij(n)=- ηδjxi+αΔwij(n- 1);
(9)修正權值wij(n+1)=wij(n)+Δwij(n);
(10)輸入另外一樣本, 轉到步驟⑤ , 直到網路收斂且輸出誤差小於允許值。
二、具體原理應用
(1) 網路層數和ANN 輸入結點的確定
通常,我們取三層網路模型。輸入層起緩沖存儲器的作用,它接受外部的輸入數據, 因此節點數取決於輸入矢量的維數。股價走勢呈波浪形式展開, 具有周期性。技術分析中, 分析周期的選擇是否恰當, 對預測結果有直接影響。由於時間、任務量及握薯察便於選擇等原因, 這里選擇為1日, 即date=1。
(2) 數據的預處理
數據預處理是將從股市得到的數據轉化為能被ANN 識別的輸入數據。設ANN 從n日開始預測股價漲跌, 股票最近已成交的原始數據序列{x' (t)},{x(t)}為處理後輸入ANN 的數據序列, 作如下處理
x' =date- 1i = 0 !x' (n- 1)date, x(t)= x' (t)- x'x'+0.5。
(3)隱層的節點數
一般認為, 隱層節點數與求解問題的要求\ 輸入輸出單元數多少都有直接的關系。對於BP 網路, 參照前人經驗, 可以參照以下公式進行設計:n="ni +n0 +a。
式中n 為隱層節點數; ni 為輸入節點數; n0 為輸出節點數;a 為1- 10 之間的常數。
(4) 輸出結點定義
人工神經網路輸出結點數為1, 取股價變化趨勢的閾值a=0 選的一段時間漲跌的平均值; 預測步長k=1。輸出結點Y(t)
定義如下: Y(t)=0 時, 預測股價在t+1 開始的單日漲幅或跌幅不超過a, 即預計處於下跌趨勢; Y(t)=1 時預計股價在t+1 開始的單日內處於上漲趨勢, 上升幅度累計超過a。
(5) 網路的其它參數確定
隱層結點數為6, 結點作用函數為S 函數, 即f(s)= 11+e- s;學習系數為0.7。學習時要求輸出誤差d≤0.1。預測時輸出層的輸出手盯大於0.5 判為1; 小於或等於0.5 判為0。
三、程序解析
1、進入窗口程序窗口看
(1)「點擊進入」按鈕
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
yucexianchang;
set(gupiaoyuce,'Visible','off');
(2)「退出」按鈕
% --- Executes on button press in exit_pushbutton.
function exit_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to exit_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Close;
2、股票預測窗口
模擬功能:段茄
模擬
繪圖
(1)「模擬」按鈕CallBack函數
% --- Executes on button press in moni_pushbutton.
function moni_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to moni_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global PD ED PW EW; %全局變數
danwei=get(handles.danwei_popupmenu,'Value');
xiangmu=get(handles.xiangmu_popupmenu,'Value');
danweishu=str2num(get(handles.danweishu_edit,'String'));
jing=str2num(get(handles.jing_edit,'String'));
[PD,ED]=yuce_day(danweishu,jing);%調用yuce_day.m函數進行預測
[PW,EW]=yuce_week(danweishu,jing);%調用yuce_week.m函數進行預測
(2)股票預測核心函數(yuce_day.m)
⑸ 請問有哪位高人知道如何用Matlab編一個用二叉樹來給股票定價的程序
不知道。不知道。不知道。
⑹ 股票問題 用MATLAB做數學建模
%文件vol.m
function f=vol(x);
A = [2.10 2.20 2.30 2.35 2.40];;
Ap = [200 400 500 600 100];
B = [2.00 2.10 2.20 2.30 2.40];
Bp = [800 600 300 300 100];
f = -min(sum(Ap(A <= x)), sum(Bp(B >= x)));
%------------------------------------------
>> [x fval] = fminsearch('vol',2.3)
x =
2.3000
fval =
-400
你說的低於和高於我理解成小於等於與大於等於了,不對的話在函數最後一行自己改
⑺ 如何通過機器學習演算法來預測股票市場的短期波動
預測股票市場短期波動是一項挑戰性的任務,而機器學習演算法可彎談以用來處理這個問題。以下是一些在股票市場短期波動預測方面常用的機器學習演算法:
1. 線性回歸模型:該模型可以用來預測股票價格的變搏禪化趨勢。它基於歷史數據,通過尋找輸入變數與輸出變數之間的關系,來預測未來的股票價格。
2. 支持向量機(SVM)模型:該模型可以幫助預測股票市場的崩盤或者反彈時刻。SVM使用一組數學函數,通過分析數據埋銀碰點之間的距離關系,來創建一個演化模型。通過使用訓練數據,該模型可以准確地預測股票價格的變化。
3. 隨機森林模型:基於隨機森林的機器學習演算法可以用來預測股票市場的未來波動。該演算法使用多個決策樹,每個決策樹作為一個分類器,分析股票市場數據點之間的關系,並為未來的股票市場趨勢提供預測。
4. 深度學習網路模型:利用深度學習演算法可以透過一些技術手段將股票市場的各項資訊以圖像化的形式呈現並分析,以便找到市場變化的模式並做出預測。
總的來說,預測股票市場短期波動是一件復雜的任務,機器學習演算法可以為此提供許多有用的工具。通過選擇合適的演算法,並使用大量的歷史數據進行訓練,可以幫助投資者更好地預測股票市場的趨勢。
⑻ 如何利用統計模型預測股票市場的價格動態
利用統計模型預測股票市場的價格動態是一種常見的方法,以下是一些常見的統計模型:
ARIMA模型:ARIMA模型是一種時間序列分析模型,常用於分析股票價格的變化趨勢和周期性。ARIMA模型可以捕捉到時間序列的自回歸和滯後因素,可以用來預測股票價格的未來變化。
GARCH模型:GARCH模型是一種波動率模型,用於預測股票價格的波動率。GARCH模型可以捕捉到股票價格波漏寬動的自回歸和滯後因素,用於預測未來的股票價格波動。
回歸模型:回歸模型是一種廣義線性模型,用於預測股票價格與宏觀經濟因素之間的關系。回歸模型可以捕捉到股票價格與利率、通貨膨脹等宏觀經濟變數之間的關系,用於預測未來的股票價格走勢。
神經網路模型:神經網路模型是一種非線性模型,常用於預測股票價格的變化趨勢。神經網路模型可以學習到股票價格變化的復雜模式,包括非線性關系和雜訊。
支持向量機模型:支持向量機模型是一種螞空機器學習模型,用於預測股票價格的變化趨勢。支持向量機模型可悶搜瞎以捕捉到股票價格變化的復雜關系,包括非線性關系和雜訊。
在實際應用中,選擇合適的統計模型需要考慮多方面因素,如數據的時間跨度、變化趨勢、雜訊程度、數據採集頻率等。同時,在使用統計模型進行預測時,需要注意模型的有效性和可靠性,以避免過度擬合和欠擬合等問題。
⑼ 如何利用matlab對交易策略進行回測
這個很簡單啊,我現在就在用matlab做期貨量化的回測呢
關鍵的構成:
一是:形成自己策略的思想和流程圖
二是:從TB或者其他軟體中導出需要的tick等級別的數據,根據自己的思想和流程圖編輯程序,最好多使用function函數句柄,是程序的可適性增強。
三是:繪制圖片,plot,mesh或者GUI,來觀測自己參數對策略的影響,進而進一步完善策略
四是:多用cell元胞數組,根據TB等回測報告形成自己的測試報告,比如空多盈虧,回撤等等。