1. MATLAB 如何導入股票數據,並畫出K線
需要幾個關鍵步驟 (函數應用需要自己多用help 學習)
1自己先下載原始數據格式 時間 開 高 低 收
1 讀取數據 xlsread 函數
[num,txt,raw]=xlsread(filename); % 『000001.xls'
Date=datenum(txt(5:length(txt),1)); %時間
OpenPrice=num(:,1); %開盤
HighPrice=num(:,2); %收盤
LowPrice=num(:,3);
ClosePrice=num(:,4);
Vol=num(:,5); %成交量
save Data Date OpenPrice HighPrice LowPrice ClosePrice Vol; %存儲mat文件 方便下次使用
candle(HighPrice,LowPrice,ClosePrice,OpenPrice,'r',Date,12)%高 低 收 開 紅色 時間 時間格式
2. 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')
3. 用matlab怎麼算股票價格的收益率,怎麼得出收益率的圖~
1、用matlab算股票價格的收益率的方法,比如(以聯想V14十代酷睿筆記本電腦,Windows10為例):
在matlab裡面通常指令是:log(Xt/Xt-1)。
其中Xt是某股票或某指數第t天的價格;
其中Xt-1是某股票或某指數第t-1天的價格.
2、製作收益率曲線圖的步驟如下,比如(以聯想V14十代酷睿筆記本電腦,Windows10為例):
1.在A1中輸入公式=(行(A1)-1) * 0.25-3。
2.在B1中輸入公式=NORMDIST(A1,0,1,0)。
3.下拉並分別將以上兩個公式復制到A25和B25。
4.插入「XY _⒌閫",A列為X軸,B列為Y軸,選擇散點圖類型為帶平滑線的散點圖。
(3)用matlab畫股票走勢擴展閱讀:
一、如果用matlab驗證股票的收盤價符合對數正態分布:
比如(以聯想V14十代酷睿筆記本電腦,Windows10為例)先導入數據,然後取收盤價的對數值即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.
表示核平滑密度估計。
二、股票收益率是反映股票收益水平的指標
1、是反映投資者以現行價格購買股票的預期收益水平。它是年現金股利與現行市價之比率。
本期股利收益率=(年現金股利/本期股票價格)*100%
2、股票投資者持有股票的時間有長有短,股票在持有期間獲得的收益率為持有期收益率。
持有期收益率=[(出售價格-購買價格)/持有年限+現金股利]/購買價格*100%
3、公司進行拆股必然導致股份增加和股價下降,正是由於拆股後股票價格要進行調整,因而拆股後的持有期收益率也隨之發生變化。
拆股後持有期收益率=(調整後的資本所得/持有期限+調整後的現金股利)/調整後的購買價格*100% 對於長期投資形式的股票投資,其投資收益的確認有兩種方法:
一種是成本法,即按被投資企業發放的股利確定為投資企業的投資收益。
另一種方法是權益法,指投資企業所投股份在被投資企業中佔到一定比例,可以對它具有控制、共同控制或重大影響時,應採用權益法進行核算。
4. 關於利用matlab繪制股票線型的數據問題
從bggf.mat 讀得的bggf數據看上去有4列
看你用highlow 函數的調用方式,這四列應該是
開市價 最高價 最低價 收市價
而r是用size獲得的數據的行數
之所以報錯就是bggf(r-100:r,2)取下標的時候錯了
r是數據的行數,肯定是個正整數沒錯,錯就錯在r-100
你文件裡面的數據如果不足100行,那麼r-100就會出現負數
數據正好是100行,那麼r-100就會等於0
在matlab裡面,下標是從1開始的正整數,所以發生以上情況就會錯
如果你的數據是剛剛好100行的,那麼完全不用這么麻煩,直接用:代替就可以了
highlow(bggf(:,2),bggf(:,3),bggf(:,4),bggf(:,1),'r')
但是這樣寫無論是數據有多少行,圖都會照畫,不足100行,超過100行照單全收
如果你的數據有超過100行,你只想取最後的100行,你應該減99而不是100
highlow(bggf(r-99:r,2),bggf(r-99:r,3),bggf(r-99:r,4),bggf(r-9:r,1),'r')
但是當數據不足行時,這樣寫會同樣報錯
5. 這個用matlab怎麼寫程序(畫股票7日移動平均線)
%沒有數據,所以不知道會不會有問題,你試一下
data=xlsread('C:\新建文件夾\111.xls');
nlen=length(data);
n=7;
data_avg=zeros(nlen-n+1,1);
for i=1:nlen-n+1
data_avg(i)=mean(data(i:i+n-1));
end
xlswrite('C:\新建文件夾\111.xls',data_avg,'Sheet1','B7')
6. 股票問題 用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
你說的低於和高於我理解成小於等於與大於等於了,不對的話在函數最後一行自己改
7. 想問一下怎樣用MATLAB畫10000條股票的價格走勢圖
xlsread 可以導入數據 比如data=xlsread('dd.xls','Sheet1','B1:G2')就是讀取dd.xls文件裡面b1到g2之間的數據!
8. 怎樣利用matlab畫股票的布林線
不管哪個編程軟體,布林線的計算方法都是收盤價20日移動平均線做中軌,加兩倍標准差做上軌,減兩倍標准差做下軌.
9. [轉載]使用Matlab對數據進行去趨勢(detrend)
去趨勢(detrend)處理可以消除感測器在獲取數據時產生的偏移對後期計算產生的影響。從數據中刪除趨勢可以將分析集中在數據趨勢本身的波動上。但是,去趨勢的意義取決於自己的研究的目的。
數據去趨勢,就是對數據減去一條最優(最小二乘)的擬合直線、平面或曲面,使去趨勢後的數據均值為零。
例子,採用Matlab自帶例子示範去趨勢過程。
示例顯示如何從每日收盤股價中消除線性趨勢,以強調整體增長的價格波動。 如果數據確實有趨勢,則將其趨勢強制為零並減小總體變化。 該示例使用從庫函數採用的分布模擬股票價格波動。
10. 怎麼用matlab繪制股市K線圖
正規配資公司一般都是資金雙重保障,實盤交易的,利息也是比較低的
.
森公司的一項調查顯示,消費者願意為被貼拌嘴,可做夢也想不到,原