❶ matlab如何讀取股票數據
matlab如何讀取股票數據
該框架可為許多模型和優化方法產生具體的訓練方法。本文中,生成模型通過一個多層感知機傳遞隨機雜訊,且判別模型也是一個多層感知機。
這個特例稱為對抗的網路。這里,僅用反向傳播和 Dropout 來訓練模型,生成模型通過前向傳播來生成樣本。不需要近似推理和 Markov 鏈。
❷ 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)%高 低 收 開 紅色 時間 時間格式
❸ matlab 如何從wind中獲取股票數據 收盤 開盤 最高 最低 交易量
所有的股市及時數據信息都在交易所或證監會,他們不開放數據給自己,自己是無法獲取的。
收市價又稱收盤價,通常指某種證券在證券交易所每個交易日里的最後一筆買賣成交價格。如果某種證券當日沒有成交,則採用Recently一成交價作為收盤價。初次上市的證券,以其上市前公開銷售的平均價格作為收盤價。如果證券交易所每日開前、後兩市,則會出現前市收盤價和後市收盤價,一般來說,證券交易所後市收盤價為當日收盤價。在我國深圳證券交易所和上海證券交易所,股票收市價的確定有所不同,深圳證券交易所股票收市價是以每個交易日最後一分鍾內的所有成交加權平均計算得出的,而上海證券交易所則以最後一筆成交價格作為收盤價。
開盤價又稱開市價,是指某種證券在證券交易所每個交易日開市後的第一筆每股買賣成交價格。世界上大多數證券交易所都採用成交額最大原則來確定開盤價。
如果開市後一段時間內(通常為半小時)某種證券沒有買賣或沒有成交,則取前一日的收盤價作為當日證券的開盤價。如果某證券連續數日未成交,則由證券交易所的場內中介經紀人根據客戶對該證券買賣委託的價格走勢提出指導價,促使成交後作為該證券的開盤價。在無形化交易市場中,如果某種證券連續數日未成交,以前一日的收盤價作為它的開盤價。
股市成交量為股票買賣雙方達成交易的數量,是單邊的,例如,某隻股票成交量為十萬股,這是表示以買賣雙方意願達成的,在計算時成交量是十萬股,即:買方買進了十萬股,同時賣方賣出十萬股。而計算交易量則雙邊計算,例如買方十萬股加賣方十萬股,計為二十萬股。股市成交量反映成交的數量多少。一般可用成交股數和成交金額兩項指標來衡量。目前深滬股市兩項指標均能顯示出來。
❹ MATLAB怎樣獲取實時股市行情數據
需要專門的金融實時行情API介面接入,例如wstock的API介面。
MATLAB是支持HTTP 、TCP 等網路協議的,通過專門的金融實時行情API介面,可接入實時行情到其中。
你可搜一下。
❺ 如何將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、數據內是否存在非法字元!清除後,就可以運算了有的時候還需要:把修改過的區域再進一步修改,全選中,然後「單元格格式」,把單元格格式由「常規」改為「數值」!!!
❻ 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對股票數據做聚類分析
直接調kmeans函數。
k = 3;%類別數
idx = kmeans(X, k);%idx就是每個樣本點的標號。
❽ 如果用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繪制股票線型的數據問題
從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')
但是當數據不足行時,這樣寫會同樣報錯
❿ matlab怎樣抓取Yahoo/Sina的股票數據
給你一個常式,用於抓取新浪股票2017年1月份的股票數據。程序如下:
clc;
clear;
year=2017;
season = 1 ;
fprintf('抓取%d年%d季度的數據中...\n', year, season)
[sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&season=%d', year));
expr2 = '<div align="center">(\d*\.?\d*)</div>';
[datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); %從源文件中獲取目標數據
data = zeros(size(data_tokens));%產生和數據相同長度的0
for idx = 1:length(data_tokens)
data(idx) = str2double(data_tokens{idx}{1}); %轉變數據類型後存入data中
end
%%占坑打個廣告,代寫matlab程序(畢業設計,課程任務等)
%%信號處理,小波變換,PCA降維,ICA分析,分類器,濾波器等。QQ:1577232787