一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 想抄底股票?Python教你輕松監(jiān)測實(shí)時(shí)收益率

想抄底股票?Python教你輕松監(jiān)測實(shí)時(shí)收益率

來源:千鋒教育
發(fā)布人:小千
時(shí)間: 2021-01-29 09:20:00 1611883200

      對于炒股的同學(xué)來說,必須會(huì)看懂?dāng)?shù)據(jù)才能避免入坑,今天小千就來教大家如何去使用Python分析股票數(shù)據(jù),學(xué)到就是賺到。(小千提醒,股市有風(fēng)險(xiǎn),請謹(jǐn)慎投資)

      這次的美股例子就選擇了美國顯卡制造商英偉達(dá),其股票代碼是NVDA,熟悉英偉達(dá)的人都知道他們的CEO老黃(Jensen Huang),老黃有兩樣?xùn)|西很出名,一是那件能穿4個(gè)季度的皮衣,二是精湛的顯卡刀法。英偉達(dá)在老黃帶領(lǐng)下飛速發(fā)展,其股價(jià)也是一直飆升,所以選擇這個(gè)股票也是在近幾年美股中具有代表性的。

1

      首先還是導(dǎo)入各種庫。

2

      這里有一個(gè)不太常見的庫是yfinance,這是從Yahoo網(wǎng)站獲取數(shù)據(jù)的一個(gè)庫,其使用非常簡單,不需要相關(guān)api,同時(shí)也是免費(fèi)的,而市場上其他不少庫都要api,很多還是收費(fèi)的,同時(shí)還有很多限制,所以我們選用了yfinance作為數(shù)據(jù)來源。yfinance直接用pip安裝即可,筆者用的是anaconda,但用了conda安裝會(huì)失敗,最好還是用pip安裝。接下來是獲取數(shù)據(jù)。

3

      yfinance下載的數(shù)據(jù)直接是pandas的dataframe格式,這里我們只要輸入股票代碼以及起止時(shí)間就可以了,后面的progress是進(jìn)度條選項(xiàng),最好關(guān)閉,否則下載好之后結(jié)果中會(huì)有一個(gè)進(jìn)度條(影響也不大)。這里我們下載英偉達(dá)過去5年的股票數(shù)據(jù),從2015年1月1日到2019年12月31日。這里有一個(gè)問題要注意,就是yfinance的數(shù)據(jù)獲取時(shí)間是提前1天的,比如設(shè)置起始時(shí)間start='2015-01-02',但最終得到的股票數(shù)據(jù)時(shí)間是從2015年1月1日開始的, 同樣截止時(shí)間end='2020-01-01'也就意味著數(shù)據(jù)的截止時(shí)間是2019年12月31日。下載之后的數(shù)據(jù)如下圖所示。

4

      然后是數(shù)據(jù)處理。

5

      上面這些步驟內(nèi)容較多,在這里詳細(xì)說明一下。從下載得到的數(shù)據(jù)中,我們選取Adj Close這一列,其全稱是adjusted close,意思是調(diào)整收盤價(jià),這就是我們要用到的數(shù)據(jù),將其改名為adj_close,然后用adj_close計(jì)算會(huì)計(jì)收益率(也稱簡單收益率),即simple returns,將其命名為s_r,方法是用后一天數(shù)據(jù)除以前一天數(shù)據(jù),再減一,當(dāng)然這里用dataframe的pct_change方法也可以,得到的結(jié)果是一樣的。從前面圖2中我們可以看到得到的數(shù)據(jù)的時(shí)間是以天為單位的,但這些日期并不連續(xù),中間有部分間斷,這是因?yàn)楣善笔袌鲈谥苣┑裙?jié)假日不開盤,而這里我們?yōu)榱死胏pi來計(jì)算會(huì)計(jì)收益率,要設(shè)計(jì)一個(gè)連續(xù)時(shí)間范圍,所以這里生成了一個(gè)名為df_dates的變量,其時(shí)間范圍是連續(xù)的,從2015年1月1日到2019年12月31日,讓其和df合并,得到的數(shù)據(jù)如下圖所示。這里面NaN(not a number)都是節(jié)假日不開盤的日期。

6

      因?yàn)橐?jì)算實(shí)際收益率,其中使用的cpi(onsumer price index,消費(fèi)者物價(jià)指數(shù))是以月為單位的,所以我們也要把df轉(zhuǎn)換成以月為單位,為了避免在每月最后一天是非開盤日,所以首先用了fillna方法,方式是'ffill',即按照前一日數(shù)據(jù)來填充,然后用asfreq('M')方法來得出每月最后一日的數(shù)據(jù)。很多人會(huì)問,這個(gè)每月最后一日的數(shù)據(jù)有什么用,因?yàn)槲覀冇玫降腸pi數(shù)據(jù)都是按月份來公布的,每月只有一個(gè)cpi數(shù)據(jù),所以我們計(jì)算會(huì)計(jì)收益率時(shí)也要按照月份來算,而每月會(huì)計(jì)收益率就是用這個(gè)月的最后一個(gè)交易日的調(diào)整收盤價(jià)除以上個(gè)月的最后一個(gè)交易日的調(diào)整收盤價(jià),然后再減一,和前面每日會(huì)計(jì)收益率的計(jì)算方法一樣。然后用月份會(huì)計(jì)收益率和cpi來計(jì)算實(shí)際收益率。而我們這次所用到的cpi數(shù)據(jù),其時(shí)間范圍從2015年1月至2019年12月,總共5年,這個(gè)數(shù)據(jù)可以從很多網(wǎng)站下載,直接到網(wǎng)上搜索就行了。

7

      讀取cpi數(shù)據(jù)之后通過cpi數(shù)據(jù)計(jì)算通貨膨脹率,即inflation rate,我們把這一列命名為inf_rate,方法和會(huì)計(jì)收益率一樣,接著再用通貨膨脹率計(jì)算實(shí)際收益率(Real Rate of Return),方法是(1+會(huì)計(jì)收益率)/(1+通貨膨脹率)-1,我們將其命名為r_r。最后得到的df數(shù)據(jù)如下圖所示。

8

      最后就是數(shù)據(jù)可視化。

9

      這里我們只要4列數(shù)據(jù),即除了cpi之外的其他4列數(shù)據(jù)。將其置于4個(gè)子圖中,繪圖直接用dataframe的plot方法即可,在這里我們選用了ggplot的繪圖主題。得到的結(jié)果如下圖所示。

10

      從這里我們也可以看到用pandas分析美股數(shù)據(jù)非常方便,但是只掌握pandas的使用方法還是不夠的,我們還要具備相關(guān)的金融基礎(chǔ)知識(shí),尤其是計(jì)量經(jīng)濟(jì)學(xué)的相關(guān)基礎(chǔ),因此在分析股票數(shù)據(jù)時(shí)最好還要有一定的經(jīng)濟(jì)學(xué)基礎(chǔ)。所以在我們平時(shí)的業(yè)務(wù)工作當(dāng)中,除了必要的編程技能以外,掌握相關(guān)的理論知識(shí)也是很重要的。

      學(xué)習(xí)Python,可以參考千鋒Python培訓(xùn)班推出的Python開發(fā)學(xué)習(xí)路線,結(jié)合千鋒Python培訓(xùn)機(jī)構(gòu)名師精心錄制的全套Python視頻教程,可以讓你對學(xué)習(xí)Python需要掌握的知識(shí)有個(gè)清晰的了解,并快速入門Python開發(fā)。千鋒Python培訓(xùn)機(jī)構(gòu)視頻教程分為三個(gè)大塊:Python基礎(chǔ)視頻教程、Python高級(jí)視頻教程、Python高手晉級(jí)視頻教程。視頻講解通俗易懂,入門Python開發(fā)僅用此套視頻足矣。想要獲取免費(fèi)Python學(xué)習(xí)路線和學(xué)習(xí)資料可以添加我們的Python技術(shù)交流qq群:790693323  加群找群管理領(lǐng)取即可,Python相關(guān)技術(shù)問題也可以加群解決,等你來哦~~~~

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
為什么sql語句不支持關(guān)系代數(shù)中的除法?

為什么SQL語句不支持關(guān)系代數(shù)中的除法1. SQL和關(guān)系代數(shù)的關(guān)系:SQL是一種基于關(guān)系代數(shù)的查詢語言,它的設(shè)計(jì)初衷是為了能夠以一種更接近自然語言...詳情>>

2023-10-14 04:07:35
sql 怎么根據(jù)父id查詢下三級(jí)子集?

一、概述處理樹形數(shù)據(jù)時(shí),我們常常需要根據(jù)父ID查詢其下的子集。本文將引導(dǎo)您如何使用SQL進(jìn)行這一操作,尤其是查詢下三級(jí)子集。二、查詢方法詳...詳情>>

2023-10-14 03:59:07
什么是分治算法,和遞歸有什么關(guān)系?

分治算法是什么分治算法是一種算法設(shè)計(jì)思想,其主要思想是將一個(gè)復(fù)雜的問題分解為兩個(gè)或更多相同或相似的子問題,直到子問題簡單到可以直接解決...詳情>>

2023-10-14 03:22:51
為什么微服務(wù)一定要上Docker?

為什么微服務(wù)一定要上Docker微服務(wù)作為一種軟件架構(gòu)模式,需要考慮的因素包括服務(wù)的獨(dú)立性、可擴(kuò)展性、可維護(hù)性和可移植性等。這其中,Docker的...詳情>>

2023-10-14 03:15:33
C++的traits技術(shù)到底是什么?

在C++編程中,traits是一種編程技巧,其主要目的是在編譯時(shí)提供關(guān)于類型的額外信息。它可以將類型的一些特性(如其關(guān)聯(lián)類型、屬性、函數(shù)等)抽...詳情>>

2023-10-14 03:00:03
快速通道