Python作為一門高ji語言是很好用的,語法簡(jiǎn)單,通俗易懂,非chang容易上手,豐富的第三方庫支持使得開發(fā)速度快,相對(duì)于其他編程語言來說,初學(xué)者入門并不困難。它只是一門語言工具,zui終還是要將這門工具應(yīng)用到一個(gè)領(lǐng)域中。Python的存在就是為了幫助我們快速解決實(shí)際問題,對(duì)于使用Python進(jìn)行股票的金融數(shù)據(jù)量化分析是如何做的呢?接下來一起來看看吧!

量化交易屬于人工智能的一個(gè)應(yīng)用分支,它利用計(jì)算機(jī)強(qiáng)大運(yùn)算能力,用數(shù)學(xué)模型來模仿人的思維作出決策,通過數(shù)據(jù)建模、統(tǒng)計(jì)學(xué)分析、程序設(shè)計(jì)等工具從股票、債券、期貨的歷史數(shù)據(jù)分析中得到大概率下獲利的交易策略。

一、股票基礎(chǔ)知識(shí)及漲跌邏輯

股票是股份公司發(fā)行的所有權(quán)憑證,是股份公司為籌集資金而發(fā)行給各個(gè)股東作為持股憑證并借以取得股息和紅利的一種有價(jià)證券。每股股票都代表股東對(duì)企業(yè)擁有一個(gè)基本單位的所有權(quán)。

股票發(fā)行是在一級(jí)市場(chǎng)進(jìn)行的,投資者買賣交易的是二級(jí)市場(chǎng),也稱股票交易市場(chǎng),它是投資者之間買賣已發(fā)行股票的場(chǎng)所。二級(jí)市場(chǎng)為股票創(chuàng)造流動(dòng)性,能夠迅速脫手換取現(xiàn)值。因?yàn)槟苜嶅X,所以這也是投資者熱衷于分析股票漲跌的原因。

關(guān)于股票漲跌的因素,其實(shí)驅(qū)動(dòng)股票漲跌的因素?zé)o外乎這五個(gè)方面:公司自身的發(fā)展、市場(chǎng)估值變化、宏觀經(jīng)濟(jì)前景、行業(yè)發(fā)展環(huán)境、政治上的變化。

Python

二、如何用Python獲取股票數(shù)據(jù)

既然是金融數(shù)據(jù)的分析,那么*步獲取數(shù)據(jù)很重要。目前,獲取股票數(shù)據(jù)的渠道有很多,而且基本上是免費(fèi)的。獲取到大量的股票數(shù)據(jù),可以用數(shù)據(jù)庫來高效地管理。目前流行的數(shù)據(jù)庫有很多,關(guān)于數(shù)據(jù)庫的選型通常取決于性能、數(shù)據(jù)完整性以及應(yīng)用方面的需求。

如果我們僅僅是用于本地的數(shù)據(jù)管理,無需多用戶訪問,數(shù)據(jù)容量小于2T,無需海量數(shù)據(jù)處理,關(guān)鍵是要求移植方便、使用簡(jiǎn)單、處理迅速的話, SQLite確實(shí)是個(gè)很不錯(cuò)的選擇。

Python 2.5.x 以上版本默認(rèn)內(nèi)置SQLite3,無需單獨(dú)安裝和配置,直接使用就行。建立了本地SQLite數(shù)據(jù)庫,可以進(jìn)一步查詢和操作。比如查詢股價(jià)日漲幅超過5%的個(gè)股在19年1月至2月的分布。如下所示:

除了獲取行情數(shù)據(jù),我們也需要尋找宏觀經(jīng)濟(jì)、行業(yè)、公司相關(guān)的信息,這些信息是驅(qū)動(dòng)股票漲跌的因素。關(guān)于這些信息,我們可以通過爬蟲的方式去各大網(wǎng)站和論壇獲取。