on
해외주식 인관관계
해외주식 인관관계
반응형
library(Quandl) library(quantmod) library(xts) install.packages("Quandl") install.packages("quantmod") install.packages("xts") setwd("") code<-c('YM=F', 'NQ=F', 'RTY=F', 'ZB=F', 'ZN=F', 'ZF=F', 'ZT=F', 'GC=F', 'SI=F', 'PL=F', 'HG=F', 'PA=F', 'CL=F', 'HO=F', 'NG=F', 'RB=F', 'ZC=F', 'ZO=F', 'KE=F', 'ZR=F', 'ZM=F', 'ZL=F', 'GF=F', 'HE=F', 'CC=F', 'KC=F', 'CT=F', 'LBS=F', 'SB=F', '^BUK100P', '^VIX', '^FTSE', '^GDAXI', '^FCHI', '^STOXX50E', '^N100', '^BFX', 'IMOEX.ME', '^N225', '^HSI', '000001.SS', '399001.SZ', '^STI', '^AXJO', '^AORD', '^BSESN', '^JKSE', '^KLSE', '^NZ50', '^KS11', '^TWII', '^GSPTSE', '^BVSP', '^MXX', '^MERV', 'EURUSD=X', 'JPY=X', 'GBPUSD=X', 'AUDUSD=X', 'NZDUSD=X','CNY=X', 'HKD=X', 'SGD=X', 'INR=X', 'MXN=X', 'PHP=X','IDR=X', 'THB=X', 'MYR=X', 'ZAR=X', 'RUB=X', 'ATVI', 'ADBE', 'AMD', 'ALGN', 'GOOGL', 'GOOG', 'AMZN', 'AEP', 'AMGN', 'ADI', 'ANSS', 'AAPL', 'AMAT', 'ASML', 'TEAM', 'ADSK', 'ADP', 'BIDU', 'BIIB', 'BKNG', 'AVGO', 'CDNS', 'CDW', 'CERN', 'CHTR', 'CHKP', 'CTAS', 'CSCO', 'CTSH', 'CMCSA', 'CPRT', 'COST', 'CRWD', 'CSX', 'DXCM', 'DOCU', 'DLTR', 'EBAY', 'EA', 'EXC', 'FB', 'FAST', 'FISV', 'FOXA', 'FOX', 'GILD', 'HON', 'IDXX', 'ILMN', 'INCY', 'INTC', 'INTU', 'ISRG', 'JD', 'KDP', 'KLAC', 'KHC', 'LRCX', 'LULU', 'MAR', 'MRVL', 'MTCH', 'MELI', 'MCHP', 'MU', 'MSFT', 'MRNA', 'MDLZ', 'MNST', 'NTES', 'NFLX', 'NVDA', 'NXPI', 'ORLY', 'OKTA', 'PCAR', 'PAYX', 'PYPL', 'PTON', 'PEP', 'PDD', 'QCOM', 'REGN', 'ROST', 'SGEN', 'SIRI', 'SWKS', 'SPLK', 'SBUX', 'SNPS', 'TMUS', 'TSLA', 'TXN', 'TCOM', 'VRSN', 'VRSK', 'VRTX', 'WBA', 'WDAY', 'XEL', 'XLNX', 'ZM', 'ABBV', 'ABT', 'ACN', 'AIG', 'AMT', 'AXP', 'BA', 'BAC', 'BK', 'BLK', 'BMY', 'C', 'CAT', 'CL', 'COF', 'COP', 'CRM', 'CVS', 'CVX', 'DD', 'DHR', 'DIS', 'DOW', 'DUK', 'EMR', 'F', 'FDX', 'GD', 'GE', 'GM', 'GS', 'HD', 'IBM', 'JNJ', 'JPM', 'KO', 'LIN', 'LLY', 'LMT', 'LOW', 'MA', 'MCD', 'MDT', 'MET', 'MMM', 'MO', 'MRK', 'MS', 'NEE', 'NKE', 'ORCL', 'PFE', 'PG', 'PM', 'RTX', 'SO', 'SPG', 'T', 'TGT', 'TMO', 'UNH', 'UNP', 'UPS', 'USB', 'V', 'VZ', 'WFC', 'WMT', 'XOM') stock <- getSymbols(Symbols='ES=F', src = "yahoo", from= Sys.Date() - 365, to = Sys.Date(), auto.assign = FALSE) test_row<<-as.data.frame(index(stock[])) u<-as.data.frame(stock) test_row <- cbind(test_row,u[,6]) colnames(test_row)[1] <- 's_date' colnames(test_row)[2] <- 'ES=F' max_length<<-length(u[,6]) for(i in 1:length(code)){ tryCatch({ stock <- getSymbols(Symbols=code[i], src = "yahoo", from= Sys.Date() - 365, to = Sys.Date(), auto.assign = FALSE) u<-as.data.frame(stock) max_length<-length(test_row[,i]) stock_length <- length(u[,6]) if(stock_length > max_length){ start_num <- stock_length - max_length + 1 test_row <- cbind(test_row,u[start_num:stock_length,6]) }else if(stock_length < max_length){ null_num <- max_length - stock_length + 1 test_row <- cbind(test_row[null_num:max_length,],u[,6]) }else{ test_row <- cbind(test_row,u[,6]) } colnames(test_row)[i+2] <- code[i] print(test_row) #print(length(u[,4])) #Sys.sleep(1) },finally=NULL) } #names(test_row)<-code test_row<-na.omit(test_row) save_txt<-paste(as.character(Sys.Date()),".csv",sep="") write.table(test_row,save_txt,sep=",") print(test_row)
install.packages("lavaan") install.packages("forecast") install.packages("MTS") library(lavaan) library(forecast) library(MTS) setwd("") tCode<-c('ES=F', 'YM=F', 'NQ=F', 'RTY=F', 'ZB=F', 'ZN=F', 'ZF=F', 'ZT=F', 'GC=F', 'SI=F', 'PL=F', 'HG=F', 'PA=F', 'CL=F', 'HO=F', 'NG=F', 'RB=F', 'ZC=F', 'ZO=F', 'KE=F', 'ZR=F', 'ZM=F', 'ZL=F', 'GF=F', 'HE=F', 'CC=F', 'KC=F', 'CT=F', 'LBS=F', 'SB=F', '^BUK100P', '^VIX', '^FTSE', '^GDAXI', '^FCHI', '^STOXX50E', '^N100', '^BFX', 'IMOEX.ME', '^N225', '^HSI', '000001.SS', '399001.SZ', '^STI', '^AXJO', '^AORD', '^BSESN', '^JKSE', '^KLSE', '^NZ50', '^KS11', '^TWII', '^GSPTSE', '^BVSP', '^MXX', '^MERV', 'EURUSD=X', 'JPY=X', 'GBPUSD=X', 'AUDUSD=X', 'NZDUSD=X','CNY=X', 'HKD=X', 'SGD=X', 'INR=X', 'MXN=X', 'PHP=X','IDR=X', 'THB=X', 'MYR=X', 'ZAR=X', 'RUB=X', 'ATVI', 'ADBE', 'AMD', 'ALGN', 'GOOGL', 'GOOG', 'AMZN', 'AEP', 'AMGN', 'ADI', 'ANSS', 'AAPL', 'AMAT', 'ASML', 'TEAM', 'ADSK', 'ADP', 'BIDU', 'BIIB', 'BKNG', 'AVGO', 'CDNS', 'CDW', 'CERN', 'CHTR', 'CHKP', 'CTAS', 'CSCO', 'CTSH', 'CMCSA', 'CPRT', 'COST', 'CRWD', 'CSX', 'DXCM', 'DOCU', 'DLTR', 'EBAY', 'EA', 'EXC', 'FB', 'FAST', 'FISV', 'FOXA', 'FOX', 'GILD', 'HON', 'IDXX', 'ILMN', 'INCY', 'INTC', 'INTU', 'ISRG', 'JD', 'KDP', 'KLAC', 'KHC', 'LRCX', 'LULU', 'MAR', 'MRVL', 'MTCH', 'MELI', 'MCHP', 'MU', 'MSFT', 'MRNA', 'MDLZ', 'MNST', 'NTES', 'NFLX', 'NVDA', 'NXPI', 'ORLY', 'OKTA', 'PCAR', 'PAYX', 'PYPL', 'PTON', 'PEP', 'PDD', 'QCOM', 'REGN', 'ROST', 'SGEN', 'SIRI', 'SWKS', 'SPLK', 'SBUX', 'SNPS', 'TMUS', 'TSLA', 'TXN', 'TCOM', 'VRSN', 'VRSK', 'VRTX', 'WBA', 'WDAY', 'XEL', 'XLNX', 'ZM', 'ABBV', 'ABT', 'ACN', 'AIG', 'AMT', 'AXP', 'BA', 'BAC', 'BK', 'BLK', 'BMY', 'C', 'CAT', 'CL', 'COF', 'COP', 'CRM', 'CVS', 'CVX', 'DD', 'DHR', 'DIS', 'DOW', 'DUK', 'EMR', 'F', 'FDX', 'GD', 'GE', 'GM', 'GS', 'HD', 'IBM', 'JNJ', 'JPM', 'KO', 'LIN', 'LLY', 'LMT', 'LOW', 'MA', 'MCD', 'MDT', 'MET', 'MMM', 'MO', 'MRK', 'MS', 'NEE', 'NKE', 'ORCL', 'PFE', 'PG', 'PM', 'RTX', 'SO', 'SPG', 'T', 'TGT', 'TMO', 'UNH', 'UNP', 'UPS', 'USB', 'V', 'VZ', 'WFC', 'WMT', 'XOM') mCode<-c('ES=F', 'YM=F', 'NQ=F', 'RTY=F', 'ZB=F', 'ZN=F', 'ZF=F', 'ZT=F', 'GC=F', 'SI=F', 'PL=F', 'HG=F', 'PA=F', 'CL=F', 'HO=F', 'NG=F', 'RB=F', 'ZC=F', 'ZO=F', 'KE=F', 'ZR=F', 'ZM=F', 'ZL=F', 'GF=F', 'HE=F', 'CC=F', 'KC=F', 'CT=F', 'LBS=F', 'SB=F', '^BUK100P', '^VIX', '^FTSE', '^GDAXI', '^FCHI', '^STOXX50E', '^N100', '^BFX', 'IMOEX.ME', '^N225', '^HSI', 't000001.SS', 't399001.SZ', '^STI', '^AXJO', '^AORD', '^BSESN', '^JKSE', '^KLSE', '^NZ50', '^KS11', '^TWII', '^GSPTSE', '^BVSP', '^MXX', '^MERV', 'EURUSD=X', 'JPY=X', 'GBPUSD=X', 'AUDUSD=X', 'NZDUSD=X','CNY=X', 'HKD=X', 'SGD=X', 'INR=X', 'MXN=X', 'PHP=X','IDR=X', 'THB=X', 'MYR=X', 'ZAR=X', 'RUB=X') sCode<-c('ATVI', 'ADBE', 'AMD', 'ALGN', 'GOOGL', 'GOOG', 'AMZN', 'AEP', 'AMGN', 'ADI', 'ANSS', 'AAPL', 'AMAT', 'ASML', 'TEAM', 'ADSK', 'ADP', 'BIDU', 'BIIB', 'BKNG', 'AVGO', 'CDNS', 'CDW', 'CERN', 'CHTR', 'CHKP', 'CTAS', 'CSCO', 'CTSH', 'CMCSA', 'CPRT', 'COST', 'CRWD', 'CSX', 'DXCM', 'DOCU', 'DLTR', 'EBAY', 'EA', 'EXC', 'FB', 'FAST', 'FISV', 'FOXA', 'FOX', 'GILD', 'HON', 'IDXX', 'ILMN', 'INCY', 'INTC', 'INTU', 'ISRG', 'JD', 'KDP', 'KLAC', 'KHC', 'LRCX', 'LULU', 'MAR', 'MRVL', 'MTCH', 'MELI', 'MCHP', 'MU', 'MSFT', 'MRNA', 'MDLZ', 'MNST', 'NTES', 'NFLX', 'NVDA', 'NXPI', 'ORLY', 'OKTA', 'PCAR', 'PAYX', 'PYPL', 'PTON', 'PEP', 'PDD', 'QCOM', 'REGN', 'ROST', 'SGEN', 'SIRI', 'SWKS', 'SPLK', 'SBUX', 'SNPS', 'TMUS', 'TSLA', 'TXN', 'TCOM', 'VRSN', 'VRSK', 'VRTX', 'WBA', 'WDAY', 'XEL', 'XLNX', 'ZM', 'ABBV', 'ABT', 'ACN', 'AIG', 'AMT', 'AXP', 'BA', 'BAC', 'BK', 'BLK', 'BMY', 'C', 'CAT', 'CL', 'COF', 'COP', 'CRM', 'CVS', 'CVX', 'DD', 'DHR', 'DIS', 'DOW', 'DUK', 'EMR', 'F', 'FDX', 'GD', 'GE', 'GM', 'GS', 'HD', 'IBM', 'JNJ', 'JPM', 'KO', 'LIN', 'LLY', 'LMT', 'LOW', 'MA', 'MCD', 'MDT', 'MET', 'MMM', 'MO', 'MRK', 'MS', 'NEE', 'NKE', 'ORCL', 'PFE', 'PG', 'PM', 'RTX', 'SO', 'SPG', 'T', 'TGT', 'TMO', 'UNH', 'UNP', 'UPS', 'USB', 'V', 'VZ', 'WFC', 'WMT', 'XOM') finalspec<-"" for(i in 1:length(mCode)){ data=gsub("[[:punct:]]", "", mCode[i]) modelspec<-as.character(mCode[i]) plustext<-paste(data,"+") if(i==length(mCode)){ finalspec<-paste(finalspec,gsub("[[:punct:]]", "", data)) }else finalspec<-paste(finalspec,plustext) } in_rows<-read.csv("global_market.csv", header=TRUE, na.strings = "") in_rows<-in_rows[2:nrow(in_rows),2:ncol(in_rows)] diff_in_rows<<-diff(log(in_rows[,1:1]),1) for(k in 2:length(tCode)){ tryCatch({ diff_in_rows<-cbind(diff_in_rows,diff(log(in_rows[,k:k]),1)) print(k) },error=function(e){ #diff_in_rows<-cbind(diff(log(in_rows[,k]),1),diff_in_rows) print(k) #break }) } diff_in_rows<-na.omit(diff_in_rows) for(a in 1:length(sCode)){ timev2<-cbind(diff_in_rows[,1:length(mCode)],diff_in_rows[,(72+a):(72+a)]) colnames(timev2)=gsub("[[:punct:]]", "", c(mCode,sCode[a])) stock_<-paste(sCode[a],"~") model<-"" model<-paste(stock_,finalspec) final_sql<<-"" try({ fit<-sem(model,data=timev2) bbb<-parameterEstimates(fit) bbb$pvalue[1:length(mCode)] for(k in 1:length(mCode)){ if(bbb$pvalue[k:k]<0.01){ print(mCode[k]) sqlspec<-as.character(mCode[k]) sqltext<-paste("`",sqlspec,"`,",sep="") final_sql<-paste(final_sql,sqltext) } } final_sql<-paste(final_sql,"`",sCode[a],"`",sep="") },silent=T) }
global_market.csv 1.08MB
반응형
from http://darktrader.tistory.com/388 by ccl(A) rewrite - 2021-10-06 15:00:33