導航:首頁 > 股券交易 > CORR股票

CORR股票

發布時間:2022-03-31 11:48:54

證券組合的風險相關性

這個相關系數,是根據股票的收益率求出來的,具體為:
分別計算兩支股票過去三年或五年的月度收益率,放在excel表格中,然後在excel中使用corr這個函數,計算兩支股票的相關系數(correlation)。如果是多支股票,就需要計算兩兩的相關系數,形成相關系數矩陣(correlation matrix)。

⑵ matlab程序改錯

如果沒有上限不用定義為無窮大的,默認就是沒有上限,調用linprog時不要寫即可
w(:,i)=linprog(f,A,b,Aeq,beq,LB);
希望對你能有所幫助。

⑶ 食品的變質周期數據

你打我電話,0394-8511284我有,給你發到你郵箱10. 協方差函數

BETA(N) 貝塔系數 求當前證券的貝塔系數。
用法:BETA(N) 為當前證券N收益與大盤收益相比的貝塔系數,該系數表明大盤每變動1%,則該股票將變動V%
例如:BETA(5) 表示5周期貝塔系數

BETA2(X1,X2,N) 相關放大系數 求2個序列間的相關放大系數。
用法:BETA2(X1,X2,N)為X1與X2的N周期的相關放大系數,表示Y變化1,則X將變化V。
例如:BETA2(CLOSE,INDEXC,5)表示收盤價與大盤指數之間的5周期相關放大系數

BETADOWN(N) 下跌貝塔系數 求當前證券的下跌貝塔系數。
用法:BETADOWN(N) 為當前證券N收益與大盤收益相比的下跌貝塔系數,該系數表明大盤每下跌1%,則該股票將下跌V%
例如:BETADOWN(5) 表示5周期下跌貝塔系數

BETAUP(N) 上漲貝塔系數 求當前證券的上漲貝塔系數。
用法:BETAUP(N) 為當前證券N收益與大盤收益相比的上漲貝塔系數,該系數表明大盤每上漲1%,則該股票將上漲V%
例如:BETAUP(5) 表示5周期上漲貝塔系數

CORRTPL(TPLNAME,X,D,N) 與模板相關系數 與模板相關系數。
用法:CORRTPL(TPLNAME,X,D,N)D為常數,表示0:開盤價,1:最高價,2:最低價,3:收盤價,4:成交量,5:成交額。N表示僅計算最後多少個有效數據,為0表示計算所有。用於當前選股時N設為1可大大減小計算量,用於歷史測試和訓練模式應設為0避免有效數據過少而失真。
例如:CORRTPL('一馬平川',CLOSE,3,1)表示求收盤價線與一馬平川收盤價線的最後一組的相關系數

COVAR(X1,X2,N) 協方差 求2個序列的協方差。
用法:COVAR(X1,X2,N) 為X1與X2的N周期的協方差
例如:COVAR(CLOSE,INDEXC,8) 表示收盤價與大盤指數之間的8周期的協方差
CORR(X1,X2,N) 相關系數 求2個序列間的相關系數。用法:CORR(X1,X2,N) 為X1與X2的N周期的相關系數例如:CORR(CLOSE,INDEXC,5) 表示收盤價與大盤指數之間的5周期的相關系數

TROUGHBARSA(X,N,M) ZIGA前M個波谷位置 前M個ZIGA轉向波谷到當前周期數(絕對變化量)。

11. 指標函數

COST(X) 成本分布 成本分布情況。
用法:COST(20) 表示20%獲利盤的價格是多少。即有20%的持倉量在該價格以下,其餘80%在該價格以上,為套牢盤。該函數僅對日線分析周期比較有效

FLATZIG(X,N) 歸一化之字轉向 歸一化之字轉向。
用法:FLATZIG(X,N),當序列或K線變化量超過N%時轉向。X為序列或常數,為常數時表示0:開盤價,1:最高價,2:最低價,3:收盤價,4:高點用最高價、低點用最低價。與ZIG函數不同的是本函數返回值在0-1之間。
例如:FLATZIG(3,10)表示收盤價的10%的FLATZIG轉向。FLATZIG(MA(C,20),10)表示均線的10%的FLATZIG轉向

FLATZIGA(X,N) 歸一化絕對變化量之字轉向 歸一化之字轉向(絕對變化量)。
用法:FLATZIGA(X,N),當序列X變化量超過N時轉向。與ZIGA函數不同的是本函數返回值在0-1之間。
例如:FLATZIGA(RSI1,10)

LWINNER(N,X) 近期獲利盤比例 近期獲利盤比例。
用法:LWINNER(20,CLOSE)表示最近20天的那部分成本以當前收市價賣出的獲利盤比例。
例如返回0.2表示20%獲利盤;該函數僅對日線分析周期有效

PEAK(X,N,M) 前M個波峰值 前M個ZIG轉向波峰值。
用法:PEAK(X,N,M)表示之字轉向ZIG(X,N)的前M個波峰的數值,M必須大於等於1。
例如:PEAK(1,5,1)表示5%最高價ZIG轉向的上一個波峰的數值,

PEAK(MA(C,20),10,1)表示均線的10%的ZIG轉向的上一個波峰的數值

PEAKA(X,N,M) ZIGA前M個波峰值 前M個ZIGA轉向波峰值(絕對變化量)。
用法:PEAKA(X,N,M)表示之字轉向ZIGA(X,N)的前M個波峰的數值,M必須大於等於1。
例如:PEAKA(RSI1,10,1)

PEAKBARS(X,N,M) 前M個波峰位置 前M個ZIG轉向波峰到當前周期數。
用法:PEAKBARS(X,N,M)表示之字轉向ZIG(X,N)的前M個波峰到當前的周期數,M必須大於等於1。
例如:PEAKBARS(0,8,1)表示%8開盤價ZIG轉向的上一個波峰到當前的周期數。

PEAKBARS(MA(C,20),8,1)表示均線的8%的ZIG轉向的上一個波峰到當前的周期數

PEAKBARSA(X,N,M) ZIGA前M個波峰位置 前M個ZIGA轉向波峰到當前周期數(絕對變化量)。
用法:PEAKBARSA(X,N,M)表示之字轉向ZIGA(X,N)的前M個波峰到當前的周期數,M必須大於等於1。
例如:PEAKBARSA(RSI1,10,1)

PPART(N) 遠期成本比例 遠期成本比例。
用法:PPART(N) 表示N周期前的成本占總成本的比例,如返回0.2表示20%
例如:PPART(5) 5天前的成本占總成本的比例。該函數僅對日線分析周期比較有效

PWINNER(N,X) 遠期獲利盤比例 遠期獲利盤比例。
用法:PWINNER(10,CLOSE)表示10天前的那部分成本以當前收市價賣出的獲利盤比例。
例如返回0.2表示20%獲利盤;該函數僅對日線分析周期比較有效

SAR(N,S,M) 拋物轉向 拋物轉向。
用法:SAR(N,S,M),N為計算周期,S為步長,M為極值。例如SAR(5,2,10)表示計算5日拋物轉向,步長為2%,極限值為10%

SARTURN(N,S,M) 拋物轉向點 拋物轉向點。
用法:SARTURN(N,S,M) N為計算周期,S為步長,M為極值,若發生向上轉向則返回1,若發生向下轉向則返回-1,否則為0。其用法與SAR函數相同

TROUGH(X,N,M) 前M個波谷值 前M個ZIG轉向波谷值。
用法:TROUGH(X,N,M)表示之字轉向ZIG(X,N)的前M個波谷的數值,M必須大於等於1。
例如:TROUGH(2,8,3)表示%8最低價ZIG轉向的前3個波谷的數值。

TROUGH(MA(C,20),5,2)表示均線的5%的ZIG轉向的前2個波谷的數值

TROUGHA(X,N,M) ZIGA前M個波谷值 前M個ZIGA轉向波谷值(絕對變化量)。

TROUGHA(X,N,M)表示之字轉向ZIGA(X,N)的前M個波谷的數值,M必須大於等於1。
例如:TROUGHA(RSI1,10,2)

TROUGHBARS(X,N,M) 前M個波谷位置 前M個ZIG轉向波谷到當前周期數。
用法:TROUGHBARS(X,N,M)表示之字轉向ZIG(X,N)的前M個波谷到當前的周期數,M必須大於等於1。
例如:TROUGHBARS(2,8,3)表示%8最低價ZIG轉向的前3個波谷到當前的周期數。

TROUGHBARS(MA(C,20),5,2)表示均線的5%的ZIG轉向的前2個波谷到當前的周期數。

TROUGHBARSA(X,N,M) ZIGA前M個波谷位置 前M個ZIGA轉向波谷到當前周期數(絕對變化量)。
用法:TROUGHBARSA(X,N,M)表示之字轉向ZIGA(X,N)的前M個波谷到當前的周期數,M必須大於等於1。
例如:TROUGHBARSA(RSI1,10,2)

WINNER(X) 獲利盤比例 獲利盤比例。
用法:WINNER(CLOSE) 表示以當前收市價賣出的獲利盤比例,如返回0.2表示20%獲利盤;
例如:WINNER(10) 表示10元價格的獲利盤比例。該函數僅對比較日線分析周期有效

IG(X,N) 之字轉向 之字轉向。
用法:ZIG(X,N),當序列或K線變化量超過N%時轉向。X為序列或常數,為常數時表示0:開盤價,1:最高價,2:最低價,3:收盤價,4:高點用最高價、低點用最低價。例如:ZIG(3,10)表示收盤價的10%的ZIG轉向。ZIG(MA(C,20),10)表示均線的10%的ZIG轉向

ZIGA(X,N) 絕對之字轉向 絕對變化量之字轉向。
用法:ZIGA(X,N),當序列X變化量超過N時轉向。
例如:ZIGA(RSI1,10)

12.字元串函數

BLKNAME 所屬板塊 取證券所屬分類板塊名稱。
例如:Explain(1,STKNAME+STKLABEL+'\n所屬板塊:'+BLKNAME)

F10FIND(S,N) F10資料查找 當前證券的F10資料中查找字元串。
用法:F10FIND(S,N),將從當前股票的F10資料的第N個字元開始查找字元串S,返回找到的位置,返回-1表示未找到。
例如:F10FIND('發行價',1),將從F10資料的第1個字元開始查找字元串'發行價',返回找到的位置。

F10TEXT(N,M) F10資料子字元串 取得當前證券的F10資料中指定范圍的子字元串。
用法:F10TEXT(N,M),將得到當前股票的F10資料中從第N個字元開使的M個位元組長的字元串,M=0表示一直取到行尾。
例如:EXPLAIN(1,F10TEXT(F10FIND('發行價',1),0));輸出F10資料中'發行價'所在行

INBLOCK(BLKNAME) 是否板塊成員 當前證券是否屬於板塊。
用法:屬於輸出1否則為0。例如:INBLOCK('上海A股');INBLOCK('金融板塊')

LOWERSTR(STR) 小寫字元串 將字元串轉換為小寫。
用法:LOWERSTR(STR)
例如:VAR1:=LOWERSTR(MARKETLABEL,'sh',2)=0輸出1表示該股為上海證券

LTRIM(STR) 除去開始空格 除去字元串開始空格。
用法:LTRIM(STR)
例如:LTRIM(' SH') 返回SH

MARKETLABEL STKMARKET 市場代碼 取證券所在市場代碼字元串。
用法:MARKETLABEL
例如:VAR1:=STRCMP(MARKETLABEL, 'SH')=0輸出1表示該股為上交所證券

MARKETNAME 市場名稱 取證券所在市場名稱。
用法:MARKETNAME
例如:Explain(1,MARKETNAME)

NUMTOSTR(N,M) 數字轉化為字元串 將數字轉化為字元串。
用法:NUMTOSTR(N,M),將N轉化為字元串返回,精確到小數點後M位
例如:EXPLAIN(1, NUMTOSTR(0.12345, 2))輸出0.123

RTRIM(STR) 除去尾部空格 除去字元串尾部空格。
用法:RTRIM(STR)
例如:RTRIM('SH ') 返回SH

SELFSTRING(S) 自定義字元串數據 取得自定義字元串數據。
用法:SELFSTRING(S),取得名為S的自定義字元串數據。
例如:EXPLAIN(1,SELFSTRING('所屬板塊'))輸出命名為[所屬板塊]的自定義字元串數據。注:在[自定義數據管理]中定義單值字元串數據並編輯或從外部提取、導入

STKCOUNT(BLKNAME) 板塊含證券數量 板塊所包含證券數量。
用法:STKCOUNT(BLKNAME)屬於輸出1否則為0例如:STKCOUNT('上海A股');STKCOUNT('金融板塊')

STKFROMBLK(BLK,N) 取板塊成員代碼 取得板塊成員的證券代碼。
用法:STKFROMBLK(BLK,N)返回BLK板塊中的第N個成員的證券代碼
例如:explain(1,STKFROMBLK('上海A股',1));在[解]中顯示[上海A股]板塊中的第1個成員的證券代碼

STKINBLOCK(STK,BLK) 證券是否板塊成員 指定的證券是否屬於板塊。
用法:STKINBLOCK(STK,BLK)證券代碼STK參數表示的證券是否屬於BLK板塊,屬於輸出1否則為0
例如:STKINBLOCK(STKLABEL,'上海A股');STKINBLOCK('SH600000','金融板塊')

STKLABEL 證券代碼 取證券代碼字元串。
用法:STKLABEL

STKNAME 證券名稱 取證券名稱字元串。
用法:STKNAME

STKNAMEEX(S) 指定證券名稱 取指定證券名稱字元串。STKNAMEEX(S),S為證券代碼。
例如STKNAMEEX('600000')或STKNAMEEX('SH600000')返回浦發銀行

STRCMP(STR1, STR2) 字元串比較 比較字元串。
用法:STRCMP(STR1, STR2)STR1>STR2輸出1;STR1=STR2輸出0;STR1<STR2輸出-1;
例如:VAR1:=STRCMP(STKLABEL, '000001')為0表示證券代碼為000001

STRFIND(STR,S,N) 查找字元串 在字元串中查找另一個字元串。
用法:STRFIND(STR,S,N),從字元串STR的第N個字元開始查找字元串S1,返回找到的位置,若沒有找到就返回0。
例如:STRFIND('ABCDEF',UPPERSTR('cde'),1)返回3

STRLEFT(STR,N) 字元串的左部 取得字元串的左邊部分。
用法:STRLEFT(STR,N),返回字元串STR的左邊N個字元例如:EXPLAIN(1, STRLEFT(STKLABEL,3))輸出證券代碼前3位

STRLEN(STR) 字元串長度 取字元串長度。
用法:STRLEN(STR)
例如:check:=STRLEN(USERNAME)>0為0表示用戶注冊名為空

STRMID(STR,N,M) 字元串的中部 取得字元串的中間部分。
用法:STRMID(STR,N,M),返回字元串STR的第N個字元開始的長度為M個字元的字元串,M為0則取到末尾。
例如:EXPLAIN(1, STRMID('ABCDEF',3,3))輸出CDE

STRNCMP(STR1,STR2,LEN) 部分字元串比較 指定長度比較字元串。
用法:STRNCMP(STR1,STR2,LEN)
例如:VAR1:=STRNCMP(STKNAME,'ST',2)=0輸出1表示該股為ST股

STRRIGHT(STR,N) 字元串的右部 取得字元串的右邊部分。
用法:STRRIGHT(STR,N),返回字元串STR的右邊N個字元
例如:EXPLAIN(1,STRRIGHT(STKLABEL,3))輸出證券代碼後3位

STRTONUM(STR) 字元串轉化為數字 將字元串轉化為數字。
用法:STRTONUM(STR),將STR轉化為數字。
例如:STRTONUM('1.2345')返回數值1.2345

TPLDATACOUNT(TPLNAME) K線模板數據數量 K線模板數據數量。
用法:TPLDATACOUNT(TPLNAME)
例如:TPLDATACOUNT('一馬平川');「一馬平川」K線模板數據數量

UPPERSTR(STR) 大寫字元串 將字元串轉換為大寫。
用法:UPPERSTR(STR)
例如:EXPLAIN(1, UPPERSTR('sh'))輸出SH

⑷ 以下是六隻股票之間的相關系數,選擇哪四隻股票

以下是六隻股票之間的相關系數,選擇四隻股票的內容如下:
股票之間的相關系數如下:
Corr(A,B)=0.85;Corr(A,C)=0.60;Corr(A,D)=0.45。
每種股票的期望收益率為8%,標准差為20%。如果投資者的全部資產現在由A股票組成,並且只被允許選取另一種股票組成資產組合,投資者將會選擇C。

⑸ 美國財產稅

(一)征稅對象、財產稅的構成

財產稅屬於地方稅的范疇,美國各州對財產稅等各種地方稅有獨立的立法權,因此各州對應納稅財產的規定並不相同。—般來說,美國的各州把財產分為動產、不動產和無形財產三大類。不動產包括土地和土地上的永久性建築物和構築物;動產是除了不動產以外,其他任何有形的財產,如飛機、車輛、船隻等;無形財產指無形的金融資產,如在股票市場和債券市場的投資。美國各州都對不動產徵收財產稅,大多數州對動產征稅。

在不動產、動產構成的財產稅收人中,不動產是財產稅的主要成分。在對動產和不動產同時徵收財產稅的各州的財產稅構成中,不動產所佔的比例通常遠高於動產。不動產、動產包括住宅物業(Residential BRroBRerty)和商業物業(Corrrnercial BRroBRerty)等類別,而在不動產和動產的財產稅收入中,住宅物業、商業物業的稅收收入佔了財產稅收入的絕大部分,2002年美國住宅物業占總財產稅收收入的65%、商業物業佔18%。

(二)財產稅稅率

1、財產稅稅率的確定。如何確定財產稅的稅率是一個復雜的過程,這種復雜性來自於財產稅的分散性。財產稅是地方稅,州、縣、市、鎮、學區和特區等各級政府均有徵收財產稅的權力,財產稅的總稅率是州政府對財產征稅稅率與各級地方政府對財產征稅稅率的加總。州政府一般通過稅法法典把其財產稅稅率確定為某個確定值或某個范圍,並且在稅法沒有更改的前提下保持不變;此外,各級地方政府根據當年的預算、應納稅財產的總價值、其他來源的收入等變數確定其當年的財產稅稅率。由於用於設定稅率的變數每年都在變化,因此地方政府確定的稅率通常每年都不同。地方政府確定其財產稅稅率的方法如下:

(1)地方政府對其管理區域內的財產進行估價,確定應納稅財產的價值,並把這些財產的評估價值匯總,在確定財產稅稅收減免數額後,兩者的差額就是應納稅財產的總價值,用Total Value表示。

(2)地方政府確定其下一財政年度的預算總額,以及除了財產稅以外的其他收入總額,兩者的差額就是該政府要徵收的財產稅總額,用Total Tax表示。

(3)地方政府把財產稅稅率確定為要徵收的財產稅總額與應納稅財產的總價值的比率,即Tax Rate=Total Tax/Total Value。美國各地習慣}BMiIlage Rate作為財產稅稅率的單位,一個Millage Rate等於1‰。

各級地方政府根據以上方法確定其對財產征稅的稅率後,把這些稅率和州制定的稅率加總,得到該地區的財產稅總稅率:總稅率一州稅率+縣、市稅率+其他機構的稅率。

此外,各級地方政府都受到州稅法的制約。各級政府在確定稅率的過程中,應遵守州稅法對財產稅稅率、征稅對象、減免條例和征稅程序的規定;其提出的財產稅稅率也要受到州級部門的核准。

2、應納財產稅額的計算。在財產稅的徵收過程中,地方政府有專門的評估機構對各類財產的價值進行評估,經過評估得出的價值稱為公平市場價格(F.M.V—Fair Market Value)。稅務部門並不根據F.M.V對財產徵收財產稅,而是把F.M.V乘以估價折價比率(Assess Ratio.根據州法律一般是40%),從而得到估計價值(Assessed of Value)。估計價值才是稅務部門徵收財產稅時的征稅依據;估計價值扣除某個可能的稅收減免以後,乘以財產稅的總稅率,最終得到應納財產稅總額。估計價值一公平市場價格X估價折價比率;應納財產稅總額:(估計價值一稅收減免額)×總稅率。

(三)財產稅的免稅政策

直接減免稅。減免稅對象主要有:政府部門、慈善機構、教育機構等所擁有的專門用於公益目的的房地產;低收入和弱勢群體如盲人、老人、退伍軍人、烈士遺孀等自住的房地產。在上述免稅對象中,各級政府所享受的優惠是最多的。以馬里蘭州為例,2007年,該州免稅房地產價值為585.3億美元,而享受各級政府免稅房地產價值總計419.8億美元,佔71.7%。

⑹ 如何用Python和機器學習炒股賺錢

如何用Python和機器學習炒股賺錢?(圖片太多未貼,可以去找原文)

我終於跑贏了標准普爾 500 指數 10 個百分點!聽起來可能不是很多,但是當我們處理的是大量流動性很高的資本時,對沖基金的利潤就相當可觀。更激進的做法還能得到更高的回報。
這一切都始於我閱讀了 Gur Huberman 的一篇題為《Contagious Speculation and a Cure for Cancer: A Non-Event that Made Stock Prices Soar》的論文。該研究描述了一件發生在 1998 年的涉及到一家上市公司 EntreMed(當時股票代碼是 ENMD)的事件:
「星期天《紐約時報》上發表的一篇關於癌症治療新葯開發潛力的文章導致 EntreMed 的股價從周五收盤時的 12.063 飆升至 85,在周一收盤時接近 52。在接下來的三周,它的收盤價都在 30 以上。這股投資熱情也讓其它生物科技股得到了溢價。但是,這個癌症研究方面的可能突破在至少五個月前就已經被 Nature 期刊和各種流行的報紙報道過了,其中甚至包括《泰晤士報》!因此,僅僅是熱情的公眾關注就能引發股價的持續上漲,即便實際上並沒有出現真正的新信息。」
在研究者給出的許多有見地的觀察中,其中有一個總結很突出:
「(股價)運動可能會集中於有一些共同之處的股票上,但這些共同之處不一定要是經濟基礎。」
我就想,能不能基於通常所用的指標之外的其它指標來劃分股票。我開始在資料庫裡面挖掘,幾周之後我發現了一個,其包含了一個分數,描述了股票和元素周期表中的元素之間的「已知和隱藏關系」的強度。
我有計算基因組學的背景,這讓我想起了基因和它們的細胞信號網路之間的關系是如何地不為人所知。但是,當我們分析數據時,我們又會開始看到我們之前可能無法預測的新關系和相關性。

選擇出的涉及細胞可塑性、生長和分化的信號通路的基因的表達模式
和基因一樣,股票也會受到一個巨型網路的影響,其中各個因素之間都有或強或弱的隱藏關系。其中一些影響和關系是可以預測的。
我的一個目標是創建長的和短的股票聚類,我稱之為「籃子聚類(basket clusters)」,我可以將其用於對沖或單純地從中獲利。這需要使用一個無監督機器學習方法來創建股票的聚類,從而使這些聚類之間有或強或弱的關系。這些聚類將會翻倍作為我的公司可以交易的股票的「籃子(basket)」。
首先我下載了一個數據集:http://54.174.116.134/recommend/datasets/supercolumns-elements-08.html,這個數據集基於元素周期表中的元素和上市公司之間的關系。
然後我使用了 Python 和一些常用的機器學習工具——scikit-learn、numpy、pandas、matplotlib 和 seaborn,我開始了解我正在處理的數據集的分布形狀。為此我參考了一個題為《Principal Component Analysis with KMeans visuals》的 Kaggle Kernel:https://www.kaggle.com/arthurtok/principal-component-analysis-with-kmeans-visuals
importnumpy asnp
importpandas aspd
fromsklearn.decomposition
importPCA
fromsklearn.cluster
importKMeans
importmatplotlib.pyplot asplt
importseaborn assbnp.seterr(divide= 'ignore', invalid= 'ignore')
# Quick way to test just a few column features
# stocks = pd.read_csv('supercolumns-elements-nasdaq-nyse-otcbb-general-UPDATE-2017-03-01.csv', usecols=range(1,16))
stocks = pd.read_csv( 'supercolumns-elements-nasdaq-nyse-otcbb-general-UPDATE-2017-03-01.csv')print(stocks.head())str_list = []
forcolname, colvalue instocks.iteritems():
iftype(colvalue[ 1]) == str: str_list.append(colname)
# Get to the numeric columns by inversion
num_list = stocks.columns.difference(str_list)stocks_num = stocks[num_list]print(stocks_num.head())
輸出:簡單看看前面 5 行:

概念特徵的皮爾遜相關性(Pearson Correlation)。在這里案例中,是指來自元素周期表的礦物和元素:
stocks_num = stocks_num.fillna(value= 0, axis= 1)X = stocks_num.values
fromsklearn.preprocessing importStandardScalerX_std = StandardScaler().fit_transform(X)f, ax = plt.subplots(figsize=( 12, 10))plt.title( 'Pearson Correlation of Concept Features (Elements & Minerals)')
# Draw the heatmap using seaborn
sb.heatmap(stocks_num.astype(float).corr(),linewidths= 0.25,vmax= 1.0, square= True, cmap= "YlGnBu", linecolor= 'black', annot= True)sb.plt.show()
輸出:(這個可視化例子是在前 16 個樣本上運行得到的)。看到元素周期表中的元素和上市公司關聯起來真的很有意思。在某種程度時,我想使用這些數據基於公司與相關元素或材料的相關性來預測其可能做出的突破。

測量「已解釋方差(Explained Variance)」和主成分分析(PCA)
已解釋方差=總方差-殘差方差(explained variance = total variance - resial variance)。應該值得關注的 PCA 投射組件的數量可以通過已解釋方差度量(Explained Variance Measure)來引導。Sebastian Raschka 的關於 PCA 的文章對此進行了很好的描述,參閱:http://sebastianraschka.com/Articles/2015_pca_in_3_steps.html
# Calculating Eigenvectors and eigenvalues of Cov matirx
mean_vec = np.mean(X_std, axis= 0)cov_mat = np.cov(X_std.T)eig_vals, eig_vecs = np.linalg.eig(cov_mat)
# Create a list of (eigenvalue, eigenvector) tuples
eig_pairs = [ (np.abs(eig_vals[i]),eig_vecs[:,i]) fori inrange(len(eig_vals))]
# Sort from high to low
eig_pairs.sort(key = lambdax: x[ 0], reverse= True)
# Calculation of Explained Variance from the eigenvaluestot = sum(eig_vals)var_exp = [(i/tot)* 100fori insorted(eig_vals, reverse= True)] cum_var_exp = np.cumsum(var_exp)
# Cumulative explained variance# Variances plot
max_cols = len(stocks.columns) - 1plt.figure(figsize=( 10, 5))plt.bar(range(max_cols), var_exp, alpha= 0.3333, align= 'center', label= 'indivial explained variance', color = 'g')plt.step(range(max_cols), cum_var_exp, where= 'mid',label= 'cumulative explained variance')plt.ylabel( 'Explained variance ratio')plt.xlabel( 'Principal components')plt.legend(loc= 'best')plt.show()
輸出:

從這個圖表中我們可以看到大量方差都來自於預測主成分的前 85%。這是個很高的數字,所以讓我們從低端的開始,先只建模少數幾個主成分。更多有關分析主成分合理數量的信息可參閱:http://setosa.io/ev/principal-component-analysis
使用 scikit-learn 的 PCA 模塊,讓我們設 n_components = 9。代碼的第二行調用了 fit_transform 方法,其可以使用標准化的電影數據 X_std 來擬合 PCA 模型並在該數據集上應用降維(dimensionality rection)。
pca = PCA(n_components= 9)x_9d = pca.fit_transform(X_std)plt.figure(figsize = ( 9, 7))plt.scatter(x_9d[:, 0],x_9d[:, 1], c= 'goldenrod',alpha= 0.5)plt.ylim( -10, 30)plt.show()
輸出:

這里我們甚至沒有真正觀察到聚類的些微輪廓,所以我們很可能應該繼續調節 n_component 的值直到我們得到我們想要的結果。這就是數據科學與藝術(data science and art)中的「藝術」部分。
現在,我們來試試 K-均值,看看我們能不能在下一章節可視化任何明顯的聚類。
K-均值聚類(K-Means Clustering)
我們將使用 PCA 投射數據來實現一個簡單的 K-均值。使用 scikit-learn 的 KMeans() 調用和 fit_predict 方法,我們可以計算聚類中心並為第一和第三個 PCA 投射預測聚類索引(以便了解我們是否可以觀察到任何合適的聚類)。然後我們可以定義我們自己的配色方案並繪制散點圖,代碼如下所示:
# Set a 3 KMeans clustering
kmeans = KMeans(n_clusters= 3)
# Compute cluster centers and predict cluster indices
X_clustered = kmeans.fit_predict(x_9d) # Define our own color map
LABEL_COLOR_MAP = { 0: 'r', 1: 'g', 2: 'b'}label_color = [LABEL_COLOR_MAP[l] forl inX_clustered]
# Plot the scatter digram
plt.figure(figsize = ( 7, 7))plt.scatter(x_9d[:, 0],x_9d[:, 2], c= label_color, alpha= 0.5)plt.show()
輸出:

這個 K-均值散點圖看起來更有希望,好像我們簡單的聚類模型假設就是正確的一樣。我們可以通過這種顏色可視化方案觀察到 3 個可區分開的聚類。
當然,聚類和可視化數據集的方法還有很多,參考:https://goo.gl/kGy3ra使用 seaborn 方便的 pairplot 函數,我可以以成對的方式在數據框中自動繪制所有的特徵。我們可以一個對一個地 pairplot 前面 3 個投射並可視化:
# Create a temp dataframe from our PCA projection data "x_9d"
df = pd.DataFrame(x_9d)df = df[[ 0, 1, 2]]df[ 'X_cluster'] = X_clustered
# Call Seaborn's pairplot to visualize our KMeans clustering on the PCA projected data
sb.pairplot(df, hue= 'X_cluster', palette= 'Dark2', diag_kind= 'kde', size= 1.85)sb.plt.show()
輸出:

構建籃子聚類(Basket Clusters)
你應該自己決定如何微調你的聚類。這方面沒有什麼萬靈葯,具體的方法取決於你操作的環境。在這個案例中是由隱藏關系所定義的股票和金融市場。
一旦你的聚類使你滿意了,你就可以設置分數閾值來控制特定的股票是否有資格進入一個聚類,然後你可以為一個給定的聚類提取股票,將它們作為籃子進行交易或使用這些籃子作為信號。你可以使用這種方法做的事情很大程度就看你自己的創造力以及你在使用深度學習變體來進行優化的水平,從而基於聚類或數據點的概念優化每個聚類的回報,比如 short interest 或 short float(公開市場中的可用股份)。
你可以注意到了這些聚類被用作籃子交易的方式一些有趣特徵。有時候標准普爾和一般市場會存在差異。這可以提供本質上基於「信息套利(information arbitrage)」的套利機會。一些聚類則和谷歌搜索趨勢相關。

看到聚類和材料及它們的供應鏈相關確實很有意思,正如這篇文章說的一樣:https://www.fairphone.com/en/2017/05/04/zooming-in-10-materials-and-their-supply-chains/
我僅僅使用該數據集操作了 Cobalt(鈷)、Copper(銅)、Gallium(鎵)和 Graphene(石墨烯)這幾個列標簽,只是為了看我是否可能發現從事這一領域或受到這一領域的風險的上市公司之間是否有任何隱藏的聯系。這些籃子和標准普爾的回報進行了比較。
通過使用歷史價格數據(可直接在 Quantopian、Numerai、Quandl 或 Yahoo Finance 使用),然後你可以匯總價格數據來生成預計收益,其可使用 HighCharts 進行可視化:

我從該聚類中獲得的回報超過了標准普爾相當一部分,這意味著你每年的收益可以比標准普爾還多 10%(標准普爾近一年來的漲幅為 16%)。我還見過更加激進的方法可以凈掙超過 70%。現在我必須承認我還做了一些其它的事情,但因為我工作的本質,我必須將那些事情保持黑箱。但從我目前觀察到的情況來看,至少圍繞這種方法探索和包裝新的量化模型可以證明是非常值得的,而其唯一的缺點是它是一種不同類型的信號,你可以將其輸入其它系統的流程中。
生成賣空籃子聚類(short basket clusters)可能比生成買空籃子聚類(long basket clusters)更有利可圖。這種方法值得再寫一篇文章,最好是在下一個黑天鵝事件之前。
如果你使用機器學習,就可能在具有已知和隱藏關系的上市公司的寄生、共生和共情關系之上搶佔先機,這是很有趣而且可以盈利的。最後,一個人的盈利能力似乎完全關乎他在生成這些類別的數據時想出特徵標簽(即概念(concept))的強大組合的能力。
我在這類模型上的下一次迭代應該會包含一個用於自動生成特徵組合或獨特列表的單獨演算法。也許會基於近乎實時的事件,這可能會影響那些具有隻有配備了無監督學習演算法的人類才能預測的隱藏關系的股票組。

⑺ 投資組合的標准差問題

計算投資組合的標准差的時候,用你說的那個公式,
計算單個股票的標准差的時候,用與預期回報的差,看題目給什麼條件了。

⑻ 如何用Python和機器學習炒股賺錢

相信很多人都想過讓人工智慧來幫你賺錢,但到底該如何做呢?瑞士日內瓦的一位金融數據顧問 Gaëtan Rickter 近日發表文章介紹了他利用 Python 和機器學習來幫助炒股的經驗,其最終成果的收益率跑贏了長期處於牛市的標准普爾 500 指數。雖然這篇文章並沒有將他的方法完全徹底公開,但已公開的內容或許能給我們帶來如何用人工智慧炒股的啟迪。

我終於跑贏了標准普爾 500 指數 10 個百分點!聽起來可能不是很多,但是當我們處理的是大量流動性很高的資本時,對沖基金的利潤就相當可觀。更激進的做法還能得到更高的回報。

這一切都始於我閱讀了 Gur Huberman 的一篇題為《Contagious Speculation and a Cure for Cancer: A Non-Event that Made Stock Prices Soar》的論文。該研究描述了一件發生在 1998 年的涉及到一家上市公司 EntreMed(當時股票代碼是 ENMD)的事件:

「星期天《紐約時報》上發表的一篇關於癌症治療新葯開發潛力的文章導致 EntreMed 的股價從周五收盤時的 12.063 飆升至 85,在周一收盤時接近 52。在接下來的三周,它的收盤價都在 30 以上。這股投資熱情也讓其它生物科技股得到了溢價。但是,這個癌症研究方面的可能突破在至少五個月前就已經被 Nature 期刊和各種流行的報紙報道過了,其中甚至包括《泰晤士報》!因此,僅僅是熱情的公眾關注就能引發股價的持續上漲,即便實際上並沒有出現真正的新信息。」

在研究者給出的許多有見地的觀察中,其中有一個總結很突出:

「(股價)運動可能會集中於有一些共同之處的股票上,但這些共同之處不一定要是經濟基礎。」

我就想,能不能基於通常所用的指標之外的其它指標來劃分股票。我開始在資料庫裡面挖掘,幾周之後我發現了一個,其包含了一個分數,描述了股票和元素周期表中的元素之間的「已知和隱藏關系」的強度。

我有計算基因組學的背景,這讓我想起了基因和它們的細胞信號網路之間的關系是如何地不為人所知。但是,當我們分析數據時,我們又會開始看到我們之前可能無法預測的新關系和相關性。

如果你使用機器學習,就可能在具有已知和隱藏關系的上市公司的寄生、共生和共情關系之上搶佔先機,這是很有趣而且可以盈利的。最後,一個人的盈利能力似乎完全關乎他在生成這些類別的數據時想出特徵標簽(即概念(concept))的強大組合的能力。

我在這類模型上的下一次迭代應該會包含一個用於自動生成特徵組合或獨特列表的單獨演算法。也許會基於近乎實時的事件,這可能會影響那些具有隻有配備了無監督學習演算法的人類才能預測的隱藏關系的股票組。

閱讀全文

與CORR股票相關的資料

熱點內容
證券全息實戰交易法 瀏覽:563
上海信託地產信託 瀏覽:512
信託成立的法律風險 瀏覽:380
哪家app貸款方便 瀏覽:110
恆指喊單傭金 瀏覽:339
白面大米股票 瀏覽:681
芴類衍生物上市公司 瀏覽:339
北京隨匯億貸金融信息服務有限公司 瀏覽:320
馬雲貸款公司地址 瀏覽:615
動力電池電芯上市公司 瀏覽:898
社保基金屬於金融機構嗎 瀏覽:649
前海理財公司 瀏覽:93
北京中關村融匯金融服務 瀏覽:701
重慶證券營業部有哪些 瀏覽:696
愛立信內部金融服務 瀏覽:678
股票友聯 瀏覽:631
停牌質押融資 瀏覽:942
5分鍾動量交易法 瀏覽:297
下周開盤黃金開盤預測最新消息 瀏覽:378
2016石油價格 瀏覽:559