① 用matlab怎麼算股票價格的收益率,怎麼得出收益率的圖~
用matlab算股票價格的收益率的方法:
在matlab裡面通常指令是:log(Xt/Xt-1)。
其中Xt是某股票或某指數第t天的價格;
其中Xt-1是某股票或某指數第t-1天的價格.
股票收益率簡介:
股票收益率指投資於股票所獲得的收益總額與原始投資額的比率。股票得到投資者的青睞,是因為購買股票所帶來的收益。股票的絕對收益率就是股息,相對收益就是股票收益率。
② matlab 如何從wind中獲取股票數據 收盤 開盤 最高 最低 交易量
所有的股市及時數據信息都在交易所或證監會,他們不開放數據給自己,自己是無法獲取的。
收市價又稱收盤價,通常指某種證券在證券交易所每個交易日里的最後一筆買賣成交價格。如果某種證券當日沒有成交,則採用Recently一成交價作為收盤價。初次上市的證券,以其上市前公開銷售的平均價格作為收盤價。如果證券交易所每日開前、後兩市,則會出現前市收盤價和後市收盤價,一般來說,證券交易所後市收盤價為當日收盤價。在我國深圳證券交易所和上海證券交易所,股票收市價的確定有所不同,深圳證券交易所股票收市價是以每個交易日最後一分鍾內的所有成交加權平均計算得出的,而上海證券交易所則以最後一筆成交價格作為收盤價。
開盤價又稱開市價,是指某種證券在證券交易所每個交易日開市後的第一筆每股買賣成交價格。世界上大多數證券交易所都採用成交額最大原則來確定開盤價。
如果開市後一段時間內(通常為半小時)某種證券沒有買賣或沒有成交,則取前一日的收盤價作為當日證券的開盤價。如果某證券連續數日未成交,則由證券交易所的場內中介經紀人根據客戶對該證券買賣委託的價格走勢提出指導價,促使成交後作為該證券的開盤價。在無形化交易市場中,如果某種證券連續數日未成交,以前一日的收盤價作為它的開盤價。
股市成交量為股票買賣雙方達成交易的數量,是單邊的,例如,某隻股票成交量為十萬股,這是表示以買賣雙方意願達成的,在計算時成交量是十萬股,即:買方買進了十萬股,同時賣方賣出十萬股。而計算交易量則雙邊計算,例如買方十萬股加賣方十萬股,計為二十萬股。股市成交量反映成交的數量多少。一般可用成交股數和成交金額兩項指標來衡量。目前深滬股市兩項指標均能顯示出來。
③ 怎麼用matlab的循環語句來批量計算股票每年的峰度和偏度
怎麼用matlab的循環語句來批量計算股票每年的峰度和偏度
shuju=[ ]; % 讀入數據
jun_ = mean(shuju) % 求均值
biao_zhun_cha=std(shuju) % 標准差
pian_=skewness(shuju) % 偏度:>0 稱為右偏態,<0,稱為左偏態
feng_=kurtosis(shuju) % 峰度:用作衡量偏離正態分布的尺度之一
④ matlab 怎麼畫股票成交量五日均線
主程序
clc;clear
mday(x,y,5,'r-.')
函數程序
function ymean = mday(x,y,m,color)
n = size(x,1);
ymean = zeros(n-m+1,1);
for i = m:n
ymean(i-m+1,1) = mean(y(i-m+1:1:i,1));
end
plot(x(m:1:n),ymean,color)
end
⑤ 使用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');
⑥ bp神經網路股票價格預測的MATLAB編程
P=[];『輸入,開盤價,最高價,最低價,收盤價成交量依次5天的數據』
T=[];』輸出,即第二日的收盤』
net=newff(minmax(P),[7,1],{'tansig','logsig'},'traingdx');
net.trainParam.epochs=1000; 『最大訓練次數,根據需要可自行調節』
net.trainParam.goal=0.01; 『誤差』
net.trainParam.lr=0.01; 『學習率』
net=train(net,P,T); 『訓練網路』
test=[];『待預測數據輸入』
out=sim(net,test); 『模擬預測』
我的這個程序沒有進行初始化,你還需要先將數據進行初始化後才能算。
⑦ 用matlab算股票最大值
具體步驟如下。
1打開matlab軟體,清空桌面環境
.2.定義一個符號變數。
3定義一個函數:y=t/(1+t*t);再通過以下函數來查看上面的函數圖像。
4查看該函數的圖像可知,函數在0到2之間有一個極值,本例求解該最大值為例。
5輸入以下的指令可以求得該函數最大值;max(subs(y,t,[0:0.00001:2]));其中0.00001是精度,求得最大值為0.5000
⑧ 如何利用matlab對交易策略進行回測
這個很簡單啊,我現在就在用matlab做期貨量化的回測呢
關鍵的構成:
一是:形成自己策略的思想和流程圖
二是:從TB或者其他軟體中導出需要的tick等級別的數據,根據自己的思想和流程圖編輯程序,最好多使用function函數句柄,是程序的可適性增強。
三是:繪制圖片,plot,mesh或者GUI,來觀測自己參數對策略的影響,進而進一步完善策略
四是:多用cell元胞數組,根據TB等回測報告形成自己的測試報告,比如空多盈虧,回撤等等。
⑨ 怎麼用matlab編程把股票交易的分筆數據處理成1分鍾數據
P=[];『輸入,開盤價,最高價,最低價,收盤價成交量依次5天的數據』
T=[];』輸出,即第二日的收盤』
net=newff(minmax(P),[7,1],,'traingdx');
net.trainParam.epochs=1000; 『最大訓練次數,根據需要可自行調節』
net.trainParam.goal=0.01; 『誤差』
net.trainParam.lr=0.01; 『學習率』
net=train(net,P,T); 『訓練網路』
test=[];『待預測數據輸入』
out=sim(net,test); 『模擬預測』
我的這個程序沒有進行初始化,你還需要先將數據進行初始化後才能算。
⑩ matlab繪制股市K線圖
將上述數據輸入到Excel,保存文件名為pfyh。代碼為:
clear;clc;
[NUM]=xlsread('pfyh','B1:E11');n=[NUM];[ro,co]=size(n);
figure
candle(n(ro-10:ro,2),n(ro-10:ro,3),n(ro-10:ro,4),n(ro-10:ro,1))
title('燭型圖');
xlabel('日期');
ylabel('價格');
axis([0,inf,7,inf]);
dateaxis('x', 2, '1/4/2005')