問财财經搜尋是同花順旗下的服務之一,主要針對上市公司的公告、研報、即時新聞等提供搜尋及參考資料。相對于其他股票軟體來說,一個強大之處在于用自然語言就可以按你指定的條件進行篩選。而大部分現有的行情軟體支援的都不是很好,寫起來就費盡心思,還不一定能行。

然而問财有一個缺陷在于它隻能擷取一天的股票相關資訊。如果,我們希望實作抓取一段時間的股票曆史資訊,就要通過網頁批量抓取。
事實上,我們可以通過制作一個爬蟲軟體來自己定義時間日期和搜尋的關鍵詞,并且批量下載下傳一定日期範圍的資料。
我們以抓取每天的收盤價大于均線上股票數目為例子,用r來實作抓取:
例如需要擷取10月12日的資料,在問财裡輸入下面的關鍵詞即可
url=paste("http://www.iwencai.com/stockpick/search?typed=1&preParams=&ts=1&f=1&qs=result_rewrite&selfsectsn=&querytype=&searchfilter=&tid=stockpick&w=",as.character(as.Date(i, origin = "1970-01-01")) ,input2)
然後,我們檢視其中一天的網頁源代碼,可以找到對應股票資料的xml源碼
是以,可以通過編寫一個html_value 函數來擷取這個xmlValue
xpath <- '//div[@class=\"natl_words long_words\"]/span[@class=\"natl_num\"]'
html_value <- function(url,xpath){
webpage <- getURL(url)
webpage <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
value <- getNodeSet(pagetree,xpath)
##i <- length(value)##統計滿足條件的值個數,一般情況為1
# value1 <- xmlValue(value[[ 1]])
# value2 <- xmlValue(value[[ 2]])
# value3 <- xmlValue(value[[ 3]])
# value4 <- xmlValue(value[[ 4]])
value1=character(0)
for(i in 1:length(value))value1[i] <- xmlValue(value[[ i]])
return(value1)
}
然後封裝成一個函數,就可以任意下載下傳一段時間内幾個關鍵詞所對應的股票資料了。
最後可以将爬取到的資料批量輸出到一個excel檔案中,進而友善後續的分析。
參考文獻
1.用機器學習識别不斷變化的股市狀況—隐馬爾科夫模型(HMM)的應用
2.R語言GARCH-DCC模型和DCC(MVT)模組化估計
3.R語言實作 Copula 算法模組化依賴性案例分析報告
4.R語言COPULAS和金融時間序列資料VaR分析
5.R語言多元COPULA GARCH 模型時間序列預測
6.用R語言實作神經網絡預測股票執行個體