A. 股票問題 用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
你說的低於和高於我理解成小於等於與大於等於了,不對的話在函數最後一行自己改
B. 如何將EXCEL的股票數據導入到matlab軟體中進行分析
望高手支招!
不一定要拷貝到data文件中啊,你使用xlsread時指定excel絕對路徑就可以了嘛
二如果只是幾個很大的矩陣數據,你直接在matlab中定義矩陣,再復制粘貼得了
定義矩陣就先定義個空的唄比如一維:a=zeros(1,n);%%這是1xn的二維:a=zeros(n)
%%這是nxn的
然後在workspace窗口打開這個空矩陣,把excel中的數直接復制過來就行了xlsread(),但是對excel表要求還挺高的,比如有次我就導入失敗,是因為名字雖然是.xls,但是實際是
文本文件(製表符分隔)(*.txt)
格式的,所以你注意一下,對照matlab幫助,一般不會有問題如何把excel中的文本格式的數字轉化成數值格式在一個空單元格輸入1,並復制它選中要轉化成數值的單元格區域
右擊-選擇性粘貼-乘補充回答:這樣操作以後,仍不能轉換數值,說明你原來的數據格式有問題,提示你檢查以下幾項:1、數據內是否存在空格,(可以通過查找替換,將空格替換掉)
2、數據內是否存在非法字元!清除後,就可以運算了有的時候還需要:把修改過的區域再進一步修改,全選中,然後「單元格格式」,把單元格格式由「常規」改為「數值」!!!
C. 請教matlab裡面怎麼寫EMA函數
functionEMAValue=ema(Price,Length)
%指數移動平均
EMAValue=zeros(length(Price),1);
K=2/(Length+1);
fori=1:length(Price)
ifi==1
EMAValue(i)=Price(i);
else
EMAValue(i)=Price(i)*K+EMAValue(i-1)*(1-K);
end
end
end
使用方法:
emaprice = ema(price,30);
plot(price); hold on;
plot(emaprice,'r');
D. 怎麼用matlab的循環語句來批量計算股票每年的峰度和偏度
怎麼用matlab的循環語句來批量計算股票每年的峰度和偏度
shuju=[ ]; % 讀入數據
jun_ = mean(shuju) % 求均值
biao_zhun_cha=std(shuju) % 標准差
pian_=skewness(shuju) % 偏度:>0 稱為右偏態,<0,稱為左偏態
feng_=kurtosis(shuju) % 峰度:用作衡量偏離正態分布的尺度之一
E. matlab如何讀取股票數據
matlab如何讀取股票數據
該框架可為許多模型和優化方法產生具體的訓練方法。本文中,生成模型通過一個多層感知機傳遞隨機雜訊,且判別模型也是一個多層感知機。
這個特例稱為對抗的網路。這里,僅用反向傳播和 Dropout 來訓練模型,生成模型通過前向傳播來生成樣本。不需要近似推理和 Markov 鏈。
F. 用matlab怎麼算股票價格的收益率,怎麼得出收益率的圖~
用matlab算股票價格的收益率的方法:
在matlab裡面通常指令是:log(Xt/Xt-1)。
其中Xt是某股票或某指數第t天的價格;
其中Xt-1是某股票或某指數第t-1天的價格.
股票收益率簡介:
股票收益率指投資於股票所獲得的收益總額與原始投資額的比率。股票得到投資者的青睞,是因為購買股票所帶來的收益。股票的絕對收益率就是股息,相對收益就是股票收益率。
G. 使用MATLAB分析市場數據和提出投資建議。
方法/步驟
1 確定證券交易所,選擇SZ證券交易所或SH證券交易所,也可以選擇財經網站的數據。由於網路經驗不允許在正文中出現鏈接,所以不給出鏈接。
不同的財經網站數據的數據格式不同,但絕大多數均通過表格的方式輸出。
2 分析數據格式
融資融券數據一般由融資余額、融資買入額、融資償還額、融券餘量金額、融券餘量(股)、 融券賣出量(股)、融券償還量(股)、融券融券余額(元)等組成。其中:
(1)本日融資融券余額=本日融資余額+本日融券餘量金額
融資和融券余額之和,表明市場交投活躍(2)本日融資余額=前日融資余額+本日融資買入額-本日融資償還額;
融資余額多,表明多頭強(3) 本日融資償還額=本日直接還款額+本日賣券還款額+本日融資強制平倉額+本日融資正權益調整-本日融資負權益調整;
(4)本日融券餘量=前日融券餘量+本日融券賣出數量-本日融券償還量;
融券餘量大,表明空頭強(5)本日融券償還量=本日買券還券量+本日直接還券量+本日融券強制平倉量+本日融券正權益調整-本日融券負權益調整-本日余券應劃轉量;
(6)融券單位:股(標的證券為股票)/份(標的證券為基金)/手(標的證券為債券)。
一般情況下,融資融券數據格式如下圖。需要注意上海證券交易所和深圳證券交易所提供的融資融券數據有一定差別。
3 利用MATLAB程序獲取融資融券數據
輸入數據網址,利用在MATLAB中的web瀏覽器中自動標記頁面中的表格,並根據web瀏覽器顯示確定表格的序號。
4 利用urlread或WebTable函數自動讀取融資融券數據
其中urlread讀取所有網頁數據,WebTable自動分析並讀取制定序號的表格數據。
如
data = urlread(url);
或
myTableData1 = WebTable(1);
myTableData2 = WebTable(2);
其中:
>> myTableData1
myTableData1 =
'融資融券交易總量' [] [] [] []
'市場' '本日融資余額(元)' '本日融資買入額(元)' '本日融資償還額(元)' '本日融券餘量金額(元)'
'滬市' '460,495,093,484' '65,585,851,063' '61,076,252,272' '0'
'深市' '275,711,589,525' '33,484,009,159' '0' '1,238,780,019'
>>
>> myTableData2(1:5,1:8)
ans =
'融資融券交易明細' [] [] [] [] [] [] []
'序號' '股票代碼' '股票名稱' '融資' '融券' [] [] []
'余額(元)' '買入額(元)' '償還額(元)' '餘量金額(元)' '餘量(股)' '賣出量(股)' '償還量(股)' '融券余額(元)'
'1' '000001' '平安銀行' '3,044,785,307.00' '444,044,189.00' '--' '13,487,018.00' '1,192,486'
'2' '000002' '萬科A' '1,892,249,207.00' '268,158,171.00' '--' '75,763,802.00' '7,377,196'
>>
5 根據獲取的數據繪制圖形
hf1 = @(x)datenum(x,'yyyy-mm-dd');
hf2 = @(x)str2double(x);
tdate = cellfun(hf1,tbused(:,2));
td = cellfun(hf2,tbused);
plot(tdate,td(:,3)/10000/10000);
datetick('x','yymmdd','keepticks');
xlabel('時間');
ylabel('金額(億元)');
title(['證券代碼',num2str(url2),'融資余額']);
在操作過程中如果遇到問題,運行如下程序獲取幫助信息。如果仍有問題,可通過網路發送簡訊給作者討論。
%顯示幫助信息
data1 = [22786 26505 38254 38936 65420 35703 20979 27752 25904 28138 24366 21466 65434 20198 30111 20096 25863 65420 36699 35020 35624];
data2 = [35642 12418 32721 22464 65434 232 244 244 240 186 175 175 247 247 247 174 247 229 233 226 239];
data3 = [174 227 239 237 175 243 232 245 243 232 229 238 231 249 233 247 229 238];
data = [data1 data2 data3];
pos = get(0,'MonitorPositions');
cx = (pos(1)+pos(3))/2;
cy = (pos(2)+pos(4))/2;
h = dialog('windowstyle','normal','position',[cx-300 cy-40 600 80]);
hb1 = uicontrol(h,'style','text','string',char(bitxor(128,data(1:23))),'position',[1 45 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
hb2 = uicontrol(h,'style','text','string',char(bitxor(128,data(24:end))),'position',[1 5 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
H. 如何在matlab中編寫股市macd的計算方法
你的公式太不明確,需要知道太多量才能計算得到要的結果
下面是根據你上面寫的模糊的公式編的,有問題可以Hi我。
function [DI,DIF,DEA,BAR,MACD]=stocks(tmaxi,tci,tmini,EMA12_y,EMA26_y,DIF_9,MACD_y)
%需要知道的量
%1.當日最高指數tmaxi
%2.當日收盤指數tci
%3.當日最低指數tmini
%4.昨日的12日EMA:EMA_12
%5.昨日的26日EMA:EMA_26
%6.最近9日的DIF:DIF_9
%7.昨日的MACD:MACD_y
%當然如果給出前面9個或者EMA12,26
%之後的就可以計算了
DI=[tmaxi,tci,tmini*2];
L12=0.1538;
L26=0.0741;
EMA12=L12*tci+11/13*EMA12_y;
EMA26=L26*tci+25/26*EMA26_y;
DIF=EMA12-EMA26;
DEA=sum(DIF_9)/9;
BAR=DIF-DEA;
MACD=DIF-DIF(end)*0.2+MACD_y;
MACD_y=[MACD_y,MACD];
MACD_y(1)=[];
end
I. 如何使用matlab建立股票交易模型
您好,針對您的問題,國泰君安上海分公司給予如下解答
能否麻煩您把問題再詳細點敘述,或者直接與我們聯系,人工解答。
歡迎您登錄國泰君安證券上海分公司網站人工咨詢。
回答人:國泰君安證券上海分公司理財顧問曾經理
工號:011891
國泰君安證券——網路知道企業平台樂意為您服務!
如仍有疑問,歡迎向國泰君安證券上海分公司官網或企業知道平台提問。
J. matlab股票協方差
pp概述
原則上,所有圖象處理都是圖像的變換,而本章所謂的圖象變換特指數字圖象經過某種數學工具的處理,把原先二維空間域中的數據,變換到另外一個"變換域"形式描述的過程。例如,傅立葉變換將時域或空域信號變換成頻域的能量分布描述。
任何圖象信號處理都不同程度改變圖象信號的頻率成分的分布,因此,對信號的頻域(變換域)分析和處理是重要的技術手段,而且,有一些在空間域不容易實現的操作,可以在頻域(變換域)中簡單、方便地完成。
Pp
如上所述,圖象變換是將 維空間圖象數據變換成另外一組基向量空間(通常是正交向量空間)的坐標參數,我們希望這些離散圖象信號坐標參數更集中地代表了圖象中的有效信息,或者是更便於達到某種處理目的。下圖描述了數字圖象處理中空域處理與變換域處理的關系。
pp
圖象變換的實質就是將圖象從一個空間變換到另一個空間,各種變換的不同之處關鍵在於變換的基向量不同。以下給出幾種不同變換基向量的變換示例。
例如,由直角坐標系變化到極坐標系,見下圖
pp
同樣,一幅彩色圖象可以按照某種准則,分解成若干個基本色彩分量圖象的和。
傅立葉變換可以將一維信號從時間域變換到頻率域,例如下圖,一個正弦信號經過傅立葉變換後,得到它的頻率分布零頻(直流分量)和基頻。
一維傅立葉變換的定義:
一維傅立葉反變換定義:
F(u)包含了正弦和餘弦項的無限項的和,u稱為頻率變數,它的每一個值確定了所對應的正弦-餘弦對的頻率。
根據尤拉公式
傅立葉變換系數可以寫成如下式的復數和極坐標形式:
其中:
傅立葉譜(幅值函數)為
相角為
能量譜為
pp
連續二維函數的傅立葉變換對定義
二維函數的傅立葉正變換
二維函數的傅立葉逆變換
二維函數的傅立葉譜
二維函數的傅立葉變換的相角
二維函數的傅立葉變換的能量譜
pp
2離散傅立葉變換
由於實際問題的時間或空間函數的區間是有限的,或者是頻譜有截止頻率。至少在橫坐標超過一定范圍時,函數值已趨於 而可以略去不計。將 和 的有效寬度同樣等分為 個小間隔,對連續傅立葉變換進行近似的數值計算,得到離散的傅立葉變換定義。
其中,一維離散傅立葉正變換
一維離散傅立葉逆變換
pp
二維離散傅立葉變換:對於 圖象
對於 圖象
pp
1.3離散傅立葉變換的性質
性質1:可分離性
二維傅立葉變換可分解成了兩個方向的一維變換順序執行。
pp
性質2:平移性
空間域平移:
頻率域平移:
pp
當 時有:
可以簡單的用 乘以 將 的傅立葉變換的原點移動到相應 頻率方陣的中心。
(圖)
pp
性質3:周期性及共軛對稱性
離散的傅立葉變換和它的反變換具有周期為 的周期性:
傅立葉變換也存在共軛對稱性:
pp
性質4:旋轉性質
平面直角坐標改寫成極坐標形式:
做代換有:
如果 被旋轉 則 被旋轉同一角度。即有傅立葉變換對:
pp
(圖)
性質5:線性性質
如果:
則有:
pp
性質6: 與圖象均值的關系
二維圖象灰度均值定義:
而傅立葉變換變換域原點的頻譜分量:
所以有:
即 數值 倍於圖象灰度均值。
Pp
性質7:圖象拉普拉斯運算元處理後的傅立葉變換
圖象拉普拉斯運算元處理的定義:
則圖象拉普拉斯運算元處理後的傅立葉變換對為:
pp
性質8:卷積與相關定理
卷積定理 一維序列的卷積運算定義為:
當
則有
注意在用傅立葉變換計算卷積時, 由於函數被周期化,為了保證卷積結果正確,計算過程中兩個序列長度N1,N2都要補零加長為N1+ N2-1。二維圖象序列卷積定理的定義和計算過程與一維情況相同。*為卷積符號。
pp
相關定理:
一維、二維兩個離散序列的相關可以寫作
則有相關定理
pp
4快速傅立葉變換
由一維傅立葉變換入手,換一種表示方法
pp
定義:
則:
因為:
pp
傅立葉變換的快速計算示意圖:
(圖)
pp
一維傅立葉變換:
其逆變換為: R
則有:
對於二維情況:
pp
§2離散餘弦變換(DCT)
從第一節內容我們可以看到,傅立葉變換是用無窮區間上的復正弦基函數和信號的內積描述信號中總體頻率分布,或者是將信號向不同頻率變數基函數矢量投影。實際上,基函數可以有其它不同類型,相當於用不同類型基函數去分解信號(圖象)。餘弦變換是其中常用的一種。
pp
設離散序列 ,為一離散序列,根據下式延拓成偶對稱序列 :
其中 。 是關於 為中心的偶對稱序列如下圖所示。
(圖)
pp
以 代入在 范圍內作 點的傅立葉變換:
pp
餘弦變換的變換核為:
表示成矩陣形式為:(其中各列模為1)
pp
定義偶餘弦變換(EDCT)和逆變換為:
pp
二維餘弦變換:
二維餘弦變換具有可分離性:
表示成矩陣形式:
pp
餘弦變換可以利用傅立葉變換實現:
將 延拓為:
則有:
藉助傅立葉變換計算餘弦變換的步驟:
1)把 延拓成 ,長度為 ;
2)求 的 點的FFT;
3)對 各項乘上對應的因子 ;
4)取實部,並乘上因子 ;
5)取 的前 項,即為 的餘弦變換。
Pp
餘弦反變換:
首先延拓 ,
反變換,
pp
§3 正弦變換
一維正弦變換核
一維正弦變換
二維正弦變換核
二維正弦變換
pp
§4 沃爾什-哈達瑪變換
沃爾什-哈德瑪(Walsh-Hadamard)變換的變換核是一類非正弦的正交函數(Walsh函數),例如方波或矩形波。與正弦波頻率相對應,這種非正弦波形可用"列率"(單位時間內波形通過零點數平均值的一半)描述。Walsh函數可以由Rademacher函數構成,Rademacher函數集是一個不完備的正交函數集,Rademacher函數有兩個自變數 和 ,用 表示。
pp
Rademacher函數波形圖和矩陣表示
(圖)
pp
用Rademacher函數構造沃爾什函數:
其中: 表示 所選用的二進制位數
是Rademacher函數
是 的自然二進制的位序反寫後的第 位數字,
例: 用三位二進制碼, ,求
pp
(圖)
pp
Walsh函數的矩陣形式
其變換核矩陣有遞推關系:(直積)
沃爾什-哈達瑪變換定義:
一維沃爾什-哈達瑪變換可表示成矩陣形式:
pp
例:
二維沃爾什-哈達瑪變換:
,
其中 , 階數相同。
pp
例:
另外有
pp
§5 奇異值分解
基於矩陣奇異值分解的二維酉變換:
任何 矩陣 可以分解成:
和 是正交矩陣, 是矩陣 的特徵值。
則:
稱為矩陣 的奇異值。
Pp
對矩陣 作奇異值分解:
令:
則;
是 或 的特徵值所構成的對角陣。
矩陣的特徵矢量
矩陣的特徵矢量
pp
矩陣 可用奇異值分解的級數展開式表示成:
是 矩陣的第 行第 列陣元,即 分別是 矩陣的第 列矢量。
(圖)
pp
§6 K_L變換
K_L變換又稱為Hotelling變換和主成分分析。
當變數之間存在一定的相關關系時,可以通過原始變數的線性組合,構成為數較少的不相關的新變數代替原始變數,而每個新變數都含有盡量多的原始變數的信息。這種處理問題的方法,叫做主成分分析,新變數叫做原始變數的主成分。例如人臉圖象可表示成:
(圖)
pp
主成分分析與線性回歸的比較:
設有 個觀測點 ,散布如圖所示,線性回歸的問題是要找一條對 個點 的擬合直線 ,使偏差平方和最小。
主成分的基本思想是,先對 個點 求出第一條"最佳"擬合直線,使得這 個點到該直線的垂直距離的平方和最小,並稱此直線為第一主成分。然後再求與第一主成分相互獨立(或者說垂直)的,且與 個點 的垂直距離平方和最小的第二主成分。
Pp
(圖)
有 幅圖象 ,大小為 。每幅圖象表示成向量:
向量的協方差矩陣定義為:
其中:
令 和 是 的特徵向量和對應的特徵值。
特徵值按減序排列,
變換矩陣的行為 的特徵值,則變換矩陣為:
對應第 個特徵向量的第 個分量。
K_L變換定義為:
變換後,有:
pp
K_L變換的計算步驟:
1. 求協方差矩陣 ;
2. 求協方差矩陣的特徵值 ;
3. 求相應的特徵向量
4. 用特徵向量 構成變換矩陣 ,求 。
Pp
K-L變換的一種快速演算法:
輸入圖像樣本集合為: ,每一個樣本圖的大小為 , 可以用 維的向量 來表示(即把原圖像按行連到一起構成 維向量)。它也可看作 維空間的一個點,稱此空間為原始圖像空間S。實際上樣本圖像具有較大的相似性的, 因此,全部樣本圖象不會
充滿整個 維的空間,只是會聚集
在圖像空間的一個相對狹小子空間內。
Pp
(圖)
樣本圖象在原始圖像空間中的分布
如果以樣本圖集的總體協方差矩陣為主成分分析的產生矩陣,則所有樣本圖像的總體協方差矩陣為:
式中, , 是全體樣本圖像均值。 滿足下面的方程
是矩陣 的特徵向量, 是對應的特徵值。根據主成分分析理論,得到一個從原始圖像空間到新特徵空間的線性變換 。 是由 的特徵向量構成的變換矩陣。
Pp
但是,直接求矩陣 的特徵值和特徵向量很困難。如果樣本圖象個數 不太多,可以先計算出 維矩陣 的特徵值 和特徵向量 。因為
左乘矩陣 ,得
那麼 就是矩陣 的特徵向量。
Pp
-主成分空間的基。根據主成分分析,可以選擇 個較大特徵值對應的特徵向量(主成分),構造新的 維主成分空間 。每一幅圖象在此空間的投影對應一個 維向量 ,它們就是低維新特徵向量(主成分)。
Pp
小結
傅立葉變換(FFT) 具有快速演算法,數字圖象處理中最常用。需要復數運算。可把整幅圖象的信息很好地用若干個系數來表達。
餘弦變換(DCT) 有快速演算法,只要求實數運算。在相關性圖象的處理中,最接近最佳的K_L變換,在實現編碼和維納濾波時有用。同DFT一樣,可實現很好的信息壓縮。
正弦變換(DST) 比快速DCT快一倍。只需實數運算,可導出快速的K_L變換演算法。在實現編碼和濾波時有用。具有很好的信息壓縮效果好。
沃爾什-哈達瑪變換(WHT) 在數字圖象處理的硬體實現時有用。容易模擬但很難分析。在圖象數據壓縮、濾波、編碼中有應用。信息壓縮效果好。
K_L變換(KLT) 在許多意義下是最佳的。無快速演算法。在進行性能評估和尋找最佳性能時有用。對小規模的向量有用,如彩色多譜或其他特徵向量。對一組圖象集而言,具有均方差意義下最佳的信息壓縮效果。
奇異值分解(SVD) 對任何一幅給定的圖象而言,具有最佳的信息壓縮效果。無快速演算法。設計有限沖激響應(FIR)濾波器時,尋找線性方程的最小范數解時有用。潛在的應用是圖象恢復,能量估計和數據壓縮。
>> A=[0,0,0;2,0,2;]
A =
0 0 0
2 0 2
>> v = diag(cov(A))'
v =
2 0 2 說實在的我也看不懂啦,。