R視覺(jué)化介面與互動(dòng)式教學(xué)課件_第1頁(yè)
R視覺(jué)化介面與互動(dòng)式教學(xué)課件_第2頁(yè)
R視覺(jué)化介面與互動(dòng)式教學(xué)課件_第3頁(yè)
R視覺(jué)化介面與互動(dòng)式教學(xué)課件_第4頁(yè)
R視覺(jué)化介面與互動(dòng)式教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、R財(cái)務(wù)分析與互動(dòng)式介面教學(xué)實(shí)務(wù)經(jīng)驗(yàn)分享明新科技大學(xué)教師社群2017.05.10田慧君 于昌永 靜宜大學(xué)財(cái)務(wù)與計(jì)算數(shù)學(xué)系第1頁(yè),共29頁(yè)。Financial data Analysis System 靜宜大學(xué) 財(cái)務(wù)與計(jì)算數(shù)學(xué)系 第2頁(yè),共29頁(yè)。1.隨著巨量資料分析發(fā)展,使用R語(yǔ)言將成為重要的基本能力。2.REXER ANALYTICS調(diào)查顯示,R為資料分析師使用比例最高的工具。3.GOOGLE、輝瑞藥廠、美國(guó)銀行、洲際酒店集團(tuán)、殼牌石油皆等使用R。4.ORACLE、MICROSOFT與IBM將R做為其產(chǎn)品中的主要資料分析工具。R軟體的特色免費(fèi)的自由軟體、開(kāi)放源碼且應(yīng)用廣泛有效的資料處理及存取能

2、力 (可與C, C+和Fortran等程式連結(jié))方便的矩陣操作與運(yùn)算能力完整而連貫的資料分析能力(有大量套件程式可用)強(qiáng)大的視覺(jué)化工具(繪圖功能)跨平臺(tái),可在Windows、UNIX和MacOS執(zhí)行WHY R?第3頁(yè),共29頁(yè)。R 與 財(cái)務(wù)金融完整的財(cái)金功能套件多樣方便的財(cái)務(wù)資料取得方式容易上手的財(cái)務(wù)資料分析方式不斷推陳出新的財(cái)金與各式各樣套件R for trading strategy develop and testing algorithm trading /tw_dsconf/dsc-2016-rR for finance time series data analysis第4頁(yè),共2

3、9頁(yè)。R-財(cái)務(wù)金融相關(guān)套件Quantmod 、 Quantstrat 、 PortfolioAnalytics 、 PerformanceAnalytics./web/views/Finance.html第5頁(yè),共29頁(yè)。RStudio下載安裝: download R之後 執(zhí)行RStudio-XXX.exeR下載安裝: download R之後 執(zhí)行R-XXX-win.exeR與 Rstudio 安裝及使用簡(jiǎn)介第6頁(yè),共29頁(yè)。1. R 與 RSstudio安裝完成後,可在應(yīng)用程式檔案系統(tǒng)Rstudio圖形點(diǎn)選 ,即可啟動(dòng)RStudio 2.安裝與執(zhí)行套件範(fàn)例:若要安裝shiny套件Packa

4、gesInstall shiny若要執(zhí)行shiny,在右邊shiny對(duì)應(yīng)的方框中直接打勾第7頁(yè),共29頁(yè)。編輯程式區(qū)執(zhí)行程式 及 執(zhí)行指令記憶體內(nèi)物件、變數(shù)File:檔案清單Plot:繪圖Packages:套件清單Help:套件與指令輔助說(shuō)明Rstudio是個(gè)好用的IDE革新套件讓R在三方面有開(kāi)創(chuàng)性改變網(wǎng)頁(yè)伺服器RStudio server互動(dòng)式網(wǎng)頁(yè)Shiny互動(dòng)式文件Rmarkdown資料整理工具dplyr tidyr繪圖介面ggplot2 ggvis整合式開(kāi)發(fā)環(huán)境 RStudio第8頁(yè),共29頁(yè)。小單元主題TimeR_fundamental I_1R introduction與數(shù)據(jù)型態(tài)15

5、 min + 10 minR_fundamental I_2基本運(yùn)算與if、for、function15 min + 10 minR_fundamental II_1資料結(jié)構(gòu)15 min + 10 minR_fundamental II_2資料處理初步與結(jié)果顯示15 min + 10 minR_quantmod財(cái)務(wù)套件使用15 min + 10 minR_shiny互動(dòng)式網(wǎng)頁(yè)15 min + 10 minR與財(cái)務(wù)資料分析-教材範(fàn)例範(fàn)例: 2016.07 夏日大學(xué)教材第9頁(yè),共29頁(yè)。主單元: R_fundamental I x a-male # char字串變數(shù)及資料型態(tài): 將資料儲(chǔ)存於變數(shù)物

6、件內(nèi),方便重複使用及分析1.資料常用型態(tài):numeric數(shù)值、integer整數(shù)、char字串、factor因數(shù)、Boolean邏輯2.變數(shù)物件命名:變數(shù)名稱只能以字母或.開(kāi)頭變數(shù)名稱大小寫是不同的 3.指派(儲(chǔ)存)資料給變數(shù):使用 b=factor(male) # factor因子 a1 male b1 male Levels: male # factor呈報(bào)資料時(shí),無(wú)第10頁(yè),共29頁(yè)。主單元: R_fundamental I 常用運(yùn)算: 算數(shù)操作、邏輯操作、if(條件式)、for迴圈#算數(shù)操作 10 + 20 #加法 10 * a #乘法 x/20 #除法邏輯操作 與 關(guān)係比較= Equ

7、al toGreater than&Logical AND|Logical OR!Logical NOT 10=91 TRUE#if(條件式) 執(zhí)行程式指令#只有條件式為真(TRUE)才會(huì)執(zhí)行#例子:袋子裡原本有四元,如果不足十元# (小於十元)再加入五元,結(jié)果是9元x=4if(x x=c(-4,5,10,-1,6,2,33,44,55) #產(chǎn)生向量變數(shù),常用c() z=c(mary,John,Ellen) x3 #使用 位置指標(biāo) 取得元素,利用指定元素位置 xc(1,4,2) #取得第1、4、2個(gè)元素1 -4 -1 5儲(chǔ)存複雜資料常用結(jié)構(gòu):vector: 同類型資料matrix:同類型資料,

8、同長(zhǎng)度data.frame:不同類型資料,同長(zhǎng)度list : 不同類型資料,不同長(zhǎng)度特殊結(jié)構(gòu):不同R套件,設(shè)計(jì)特定儲(chǔ)存資料結(jié)構(gòu)如:zoo、xts(常用於財(cái)務(wù)交易數(shù)據(jù))vector向量:將多個(gè)存在一維向量?jī)?nèi) a=matrix(x,nrow=3,ncol=3) #產(chǎn)生矩陣變數(shù) a ,1 ,2 ,3 1, -4 -1 33 2, 5 6 44 3, 10 2 55 matrix矩陣:將多個(gè)同類型向量資料,存在矩陣內(nèi)第13頁(yè),共29頁(yè)。以R提供的內(nèi)建資料集為範(fàn)例 data() #查看有那些內(nèi)建資料集 data(esoph) #載入esoph資料集- esophagealcancer(食道癌) #載入後

9、,產(chǎn)生esoph的data.frame物件 str(esoph) #查看esoph資料集的結(jié)構(gòu) View(esoph) # V大寫,將esoph資料集內(nèi)容顯示于編輯區(qū)data.frame資料框: 處理資料最常用的結(jié)構(gòu),將多組長(zhǎng)度一致的向量(欄) (不同向量?jī)?nèi)的資料類型可不同)存在data.frame內(nèi) 與Matrix最大不同在於允許不同column有相異型別 第14頁(yè),共29頁(yè)。主單元: R_fundamental II #在help中,輸入esoph查看此資料集詳細(xì)說(shuō)明# A data frame with records for 88 age/alcohol/tobacco combina

10、tions(法國(guó))#共5個(gè)欄位,88筆資料agegp年齡(Age group): factor 6個(gè)level : 25-34 35-44 45-54 55-64 65-74 75+ yearsalcgp 酒精(Alcohol consumption): factor 4個(gè)level: 0-39 4079 80119 120+ gm/dayTobgp抽煙(Tobacco consumption): factor 4個(gè)level: 0-9 10-19 20-29 30+ gm/dayNcases癌癥人數(shù)(Number of cases): numericncontrols未罹癌人數(shù)(Number

11、 of control):numeric#可發(fā)現(xiàn)此5個(gè)欄位中,有4種資料,前3個(gè)欄位雖然皆是factor,#但其level構(gòu)造不同,屬於不同資料。後2個(gè)欄位皆為numeric。第15頁(yè),共29頁(yè)。主單元: R_fundamental II x=c(-4,5,10,-1,6,2,33,44,55) #產(chǎn)生向量變數(shù) xx3# boolean取值,取得所有大於3的元素 max(x) #選取x中最大元素 min(x) #選取x中最小元素 sum(x) # x中所有元素作和 mean(x) # x中所有元素之平均值 sd(x) # x元素之標(biāo)準(zhǔn)差處理及初步觀察資料時(shí)常用指令: boolean取值、max

12、、sum、mean、sd資料缺失值檢查與處理:缺失值NA:“Not Available”常出現(xiàn)在許多資料中:char、numeric、factor x=c(NA,1,2) sum(x) #有NA,在套用函數(shù)時(shí),可能導(dǎo)致結(jié)果為NA 1 NA is.na(x) #檢驗(yàn)變數(shù)是否有NA 1 TRUE FALSE FALSE y sum(y) #去除NA後,再套用函數(shù) 1 3 which(is.na(x) #檢查NA在那裡 1 1注意:1.雖然NA是空值,但也有其代表意義,例如:溫度記錄temp=c(36.5,36.2, 37, NA, 37)2.許多財(cái)務(wù)資料中都會(huì)有NA值,務(wù)必以is.na()、whi

13、ch(is.na()先檢查,並進(jìn)行適當(dāng)處理,如na.omit()第16頁(yè),共29頁(yè)。主單元: R_fundamental II x= x=c(-4,5,10,-1,6,2,33,44,55) # 產(chǎn)生數(shù)值向量變數(shù) summary(x) # 依資料型態(tài) 回傳x的大致資訊Min. 1st Qu. Median Mean 3rd Qu. Max. -4.00 2.00 6.00 16.67 33.00 55.00 fivenum(x)#用於數(shù)值資料 minimum, lower-hinge, median, upper-hinge, maximum 1 -4 2 6 33 55 處理資料後初步結(jié)果顯

14、示: summary、fivenum、table、hist、plothist():畫出數(shù)值分佈的長(zhǎng)條圖,提供觀察依據(jù)plot():依資料型態(tài)畫圖提供觀察依據(jù) hist(table(esoph$agegp) 第17頁(yè),共29頁(yè)。data.frame數(shù)據(jù)框基本分析$: 取欄位(column)table():將factor數(shù)據(jù)依level進(jìn)行分群,然後對(duì)每一群資料資料筆數(shù)進(jìn)行統(tǒng)計(jì), 結(jié)果組合成一個(gè)比較表格返回aggregate() :群集函數(shù),將按指定欄位的factor資料進(jìn)行分群, 然後對(duì)每一群資料的某特定欄位資料套用指定函數(shù), 最後把結(jié)果組合成一個(gè)比較表格返回 data() #查看有那些內(nèi)建資料

15、集 data(esoph) #載入esoph資料集- esophageal cancer(食道癌)載入後,產(chǎn)生data.frame物件 head(esoph) #查看esoph內(nèi)前6筆資料,對(duì)資料內(nèi)容有概念 which(is.na(esoph) #查看esoph內(nèi)是否有NA值 integer(0) #查無(wú)NA值以R提供的內(nèi)建資料集為分析範(fàn)例第18頁(yè),共29頁(yè)。它首先將資料依factor level進(jìn)行分組,然後對(duì)每一組資料資料筆數(shù)進(jìn)行統(tǒng)計(jì),最後把結(jié)果組合成一個(gè)比較表格返回,可瞭解資料資料筆數(shù)分佈 table()函數(shù) table(esoph$agegp) # esoph$agegp取出欄位值,$

16、是data.frame取欄位值符號(hào) # table()可針對(duì)指定欄位,依factor level,彙整資料筆數(shù)table(esoph$agegp,esoph$alcgp)# table(x,y)可彙集x,y two-way table 結(jié)果分析1.數(shù)據(jù)資料筆數(shù)均勻分布在年齡的各level 2.數(shù)據(jù)資料筆數(shù)分佈在年齡及酒精組合的各level也頗均勻 data.frame數(shù)據(jù)框基本分析第19頁(yè),共29頁(yè)。data.frame數(shù)據(jù)框基本分析 aggregate(cbind(ncases,ncontrols) alcgp,esoph,sum) cbind(ncases,ncontrols) alcgp

17、 表示使用 alcgp 的factor,分成多個(gè)資料群,對(duì)ncases、 ncontrols 數(shù)據(jù)都各自進(jìn)行sum()操作 結(jié)果分析:1. 酒精消耗量,得到有/無(wú)食道癌人數(shù)2. 酒精消耗量愈大的群體, 得食道癌比例明顯愈高 可進(jìn)一步以統(tǒng)計(jì)檢定Note:由此看出 前一頁(yè)中僅以人數(shù)觀察容易誤導(dǎo), 應(yīng)該看比例較正確人數(shù):75人 比例:75/355 (21%) 人數(shù):45人 比例:45/67 (67%) 第20頁(yè),共29頁(yè)。 quantmod是應(yīng)用在財(cái)務(wù)方面的R語(yǔ)言套件。 quantmod套件提供許多功能:搜集金融資料、繪畫歷史股價(jià)、計(jì)算報(bào)酬率 資料分析:價(jià)格趨勢(shì)、風(fēng)險(xiǎn)估測(cè)、投資組合及其他財(cái)務(wù)應(yīng)用下載

18、及安裝 quantmod套件 install.packages(quantmod) # 下載quantmod套件 library(quantmod)# 安裝quantmod套件 透過(guò)網(wǎng)路,由yahoo finance 取得股票交易數(shù)據(jù) tw2330 tw2330.DF View(tw2330)#檢視資料主單元:quantmod套件與財(cái)務(wù)資料分析第22頁(yè),共29頁(yè)。主單元:quantmod套件與財(cái)務(wù)資料分析計(jì)算交易報(bào)酬率 相關(guān)指令如下:dailyReturn、weeklyReturn、monthlyReturn、quarterlyReturn、yearlyReturn re.2330=month

19、lyReturn(2330.TW) #計(jì)算2330.TW股票月報(bào)酬 head(re.2330) #顯示月報(bào)酬的前6筆資料 plot(re.2330)# plot()畫時(shí)間序列圖,觀察各時(shí)期的月報(bào)酬率變化 hist(re.2330)# hist()畫出報(bào)酬率分佈的長(zhǎng)條圖,觀察報(bào)酬率分佈結(jié)果分析:1.20082009年,金融海嘯期間,月報(bào)酬率波動(dòng)幅度較大2.長(zhǎng)條圖顯示,正報(bào)酬機(jī)率較高 需進(jìn)一步以統(tǒng)計(jì)檢定 第23頁(yè),共29頁(yè)。主單元:quantmod套件與財(cái)務(wù)資料分析技術(shù)分析圖型財(cái)務(wù)常用圖形:candles、matches、bars和lines。技術(shù)分析基本函數(shù): addMACD()、addRSI(

20、)、addSMA()、addTA() chartSeries(2330.TW,subset=2007:2008-01,theme=white,name=臺(tái)積電) # subset=2007:2008-01股價(jià)走勢(shì)圖的時(shí)間起始點(diǎn)設(shè)定在2007年2008-01年 # theme=white股價(jià)走勢(shì)圖的背景設(shè)定為白色 # name=臺(tái)積電股價(jià)走勢(shì)圖的標(biāo)頭名稱設(shè)定為臺(tái)積電畫出股價(jià)走勢(shì)圖後,可以再加上技術(shù)指標(biāo) addMACD() addRSI() addSMA(n = 5, col = red) addSMA(n = 20, col = blue)1.5日均線向下穿越20日均線-轉(zhuǎn)弱賣出訊號(hào)2.RSI

21、買進(jìn)訊號(hào)第24頁(yè),共29頁(yè)。主單元:quantmod套件與財(cái)務(wù)資料分析自行操作及練習(xí)Exercise 3-1: 1.透過(guò)網(wǎng)路,由yahoo finance取得某上市公司股票交易資料 2.計(jì)算此上市公司股票投資月報(bào)酬率並以plot及hist畫圖Exercise 3-2: 畫出此上市公司股價(jià)走勢(shì)圖,的時(shí)間起始點(diǎn)設(shè)定在2008年2015年,並加上20日均線與250日均線第25頁(yè),共29頁(yè)。主單元: shiny互動(dòng)式網(wǎng)頁(yè)1.shiny是一個(gè)可製作互動(dòng)式網(wǎng)頁(yè)的R套件,在Rstudio上執(zhí)行,由Rstudio擔(dān)任網(wǎng)頁(yè)伺服器2.製作互動(dòng)式網(wǎng)頁(yè)程式由2個(gè)函數(shù)負(fù)責(zé):ui與serverlibrary(shiny)

22、library(quantmod)ui-fluidPage( titlePanel(stock input), sidebarLayout( sidebarPanel( textInput(stock, label = h3(Stock Symbol), value = 2330.TW), dateRangeInput(time,start = 2008-01-01,end =2012-06-01, label = h3(Time), fluidRow( column(4,checkboxInput(D5, label = 5D, value = TRUE), column(4,checkbo

23、xInput(D20, label = 20D, value = TRUE), column(4,checkboxInput(D240, label = 240D, value = TRUE) ) ), mainPanel( plotOutput(chart) ) ) )輸入?yún)?shù)stocktimeD5D20D240輸出網(wǎng)頁(yè)畫面送到server抓數(shù)據(jù)、畫圖,再將圖chart送回來(lái)由ui的plotOutput()呈現(xiàn)在網(wǎng)頁(yè)上ui負(fù)責(zé)網(wǎng)頁(yè)畫面版面、輸入、輸出第26頁(yè),共29頁(yè)。主單元: shiny互動(dòng)式網(wǎng)頁(yè)shiny製作互動(dòng)式網(wǎng)頁(yè)由2個(gè)函數(shù)負(fù)責(zé):ui與serverui輸入?yún)?shù)stock、timeD5、D20、D240由input物件攜帶至server函數(shù)server-function( input, output) dataStock - reactive( getSymbols(input$stock,auto.assign = FALSE) )output$chart - renderPlot( timeup-as.character(input$time1) timedown-as.character(input$time2) time -paste0(time

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論