分析滬深300指數(shù)基金定投日對收益的影響

之前分享過選擇基金投資驾诈,最好是選擇股票型的指數(shù)基金凤瘦,而且是采用不定期不定額的投資方式冤竹,那么針對沒有空閑時(shí)間的上班族拂封,如果選擇每周定投、每兩周定投鹦蠕,選擇不同的定投日對收益有什么影響呢冒签?
對這個(gè)非常的好奇,所以上網(wǎng)抓取了大成滬深300指數(shù)基金和工銀滬深300指數(shù)基金從成立以來的歷史數(shù)據(jù)钟病,主要是分析每個(gè)交易日中萧恕,基金上漲的概率,通過這個(gè)結(jié)果再探討假設(shè)每周一肠阱、周二票唆、周三、周四屹徘、周五定投走趋,收益率各是多少。

一噪伊、大成滬深300指數(shù)基金
1簿煌、網(wǎng)頁抓取數(shù)據(jù)&數(shù)據(jù)整理
##從網(wǎng)頁上抓取數(shù)據(jù)
library("XML")
n <- 0:44
for(i in n){
url_a <-     "http://quotes.money.163.com/fund/jzzs_519300_"
url_b <- ".html?start=2006-03-02&end=2017-05-    05&sort=TDATE&order=desc"
url = paste(url_a,i,url_b,sep="")
tbls <- readHTMLTable(url) #確定網(wǎng)頁地址,通過網(wǎng)頁地址分析網(wǎng)頁表格
sapply(tbls,nrow) ##第1個(gè)表格是需要的表格
fund_data <- readHTMLTable(url,which=1)
datapath=paste("F:/大成滬深300/fund_data",i,".csv",sep="")
print(write.csv(fund_data,file = datapath))
}

總共抓取了44個(gè)文件鉴吹,再將這44個(gè)文件匯總到一個(gè)文件中:

##將44個(gè)文件內(nèi)的數(shù)據(jù)整合到一個(gè)文件夾中
setwd("F:/") 
a = list.files("大成滬深300指數(shù)") 
dir = paste("./大成滬深300指數(shù)/",a,sep="") 
n = length(dir)
fund_data = read.csv(file = dir[1],header=T,sep=",")
for (i in 2:n){
 new.data = read.csv(file = dir[i], header=T, sep=",")
 fund_data = rbind(fund_data,new.data)
}
write.csv(fund_data,file = "./大成滬深300指數(shù)/fund_data.csv",row.names=F)

到這里姨伟,抓取歷史數(shù)據(jù)就結(jié)束了。

2豆励、數(shù)據(jù)處理
fund_data <- read_excel("F:/大成滬深300指數(shù)/fund_data.xlsx")
View(fund_data)
##重命名
names(fund_data) <- c("date","days","Unit net     worth","Accumulated net worth","growth rate")
##刪除多余的一列
fund_data <- fund_data[,-6]
fund_data
##按日期進(jìn)行排序夺荒。
library(dplyr)
fund_data <- arrange(fund_data,desc(date))
fund_data
##按照days分組.
days_funddata <- group_by(fund_data,days)
days_funddata##數(shù)據(jù)計(jì)算,用summarise()函數(shù)
days_funddata <- summarise(days_funddata,count=n())
days_funddata

得到的結(jié)果是分成了7組肆糕,我覺得挺奇怪的般堆,就計(jì)算了一下每個(gè)組的類別,得到以下結(jié)果:


周六诚啃、周日各有4天和2天的交易日淮摔,難道之前還有周末也進(jìn)行交易了?
接著始赎,開始篩選出各個(gè)交易日上漲的數(shù)據(jù)和橙,以及上漲的次數(shù)仔燕,同時(shí)計(jì)算上漲的概率:

##自定義函數(shù)計(jì)算每天增長率大于0的數(shù)據(jù)。
  days_data <- function(n){
  days_data <- fund_data[fund_data$days == n,]
  days_data <- days_data[days_data$`growth rate` > 0,]
  return(days_data)
}
##周一增長率大于0的數(shù)據(jù)
days_data(1)
##周二增長率大于0的數(shù)據(jù)
days_data(2)
##周三增長率大于0的數(shù)據(jù)
days_data(3)
##周四增長率大于0的數(shù)據(jù)
days_data(4)
##周五增長率大于0的數(shù)據(jù)
days_data(5)
##重新組合成數(shù)據(jù)
newdays <- c("1","2","3","4","5")      ##周一到周五
newtotal <- c("527","542","544","540","536")   ##周一到周    五總共的交易日
newcount <- c("308","302","287","245","300")   ##周一到    周五總共的交易日上漲次數(shù)
newdata <- data.frame(newdays,newtotal,newcount)
##計(jì)算周一到周五交易日上漲的概率
newcount <- as.numeric(newcount)
newtotal <- as.numeric(newtotal)
rate <- newcount/newtotal
newdata <- cbind(newdata,rate)

結(jié)果如下:

數(shù)據(jù)1

也就是說魔招,每周定投晰搀,不同的交易日對于大成滬深300指數(shù)基金的收益還是有點(diǎn)影響的,比如說周一和周五上漲的概率大些办斑,而周四上漲概率相對低些外恕,但是,總體概率相差不大乡翅。
那么是不是真的如此呢鳞疲?
接著計(jì)算周一到周五分別的收益率。

3.定投日為周一到周五的收益率

選擇了2012年1月4日至2017年5月5日的歷史數(shù)據(jù)蠕蚜,假設(shè)5月5日將全部份額的基金贖回尚洽,計(jì)算收益率。

3.1每周定投計(jì)算過程如下:
##自定義函數(shù)靶累,每周定投1000腺毫,計(jì)算從2012年1月2日至2017年5月5日
 vote_data <- function(n,money){
  ##選擇子集
  vote_data <- fund_data[1:1298,-(4:5)]
  vote_data
  ##每周定投1000
  days_votedata <- vote_data[vote_data$days == n,]   ##n為周幾定投
  days_votedata
  unit_worth <- days_votedata$`Unit net worth`
  days_votedata$share <- (money-    money*0.0012)/(unit_worth)  ##計(jì)算每次定投時(shí)購買的份額數(shù)
  days_votedata$money <- money                       ##定投的金額
  share <- sum(days_votedata$share)                 ##定投購    買的總份額數(shù)
  fundUnit <- 0.9887                                ##2017-05-05的單位凈值
  total_worth <- share*fundUnit                     ##計(jì)算2017-05-05賬面的總額
  total_money <- sum(days_votedata$money)           ##計(jì)算定投的總金額
  total_Purchasefee <- total_money*0.0012           ##計(jì)算申購費(fèi)的總金額
  total_Redemptionfee <- total_worth*0.005          ##計(jì)算贖回費(fèi)的總金額
  Actual_income <- total_worth-total_Redemptionfee  ##計(jì)算贖回到賬實(shí)際金額
  income <- Actual_income-total_money               ##計(jì)算定投的收益
  rate_incom <- income/total_money*100                 ##計(jì)算收益率
  startday <- as.Date("2012-01-04")
  endday <- as.Date("2017-05-05")
  days <- as.numeric(endday-startday)               ##計(jì)算投資天數(shù)
  year <- days/360                                  ##計(jì)算投資年數(shù)
  year_rate <- rate_incom/year
  return(rate_incom)
}
##每周一定投
vote_data(1,1000)
##每周二定投
vote_data(2,1000)
##每周三定投
vote_data(3,1000)
##每周四定投
vote_data(4,1000)
##每周五定投
vote_data(5,1000)

計(jì)算出來的結(jié)果如下:

數(shù)據(jù)

從結(jié)果中,也可以得出跟剛剛一樣的結(jié)論挣柬,無論是哪天進(jìn)行定投潮酒,收益不會(huì)相差很大,如果說真的要找出一天的話邪蛔,在這里顯示周五收益更高一些澈灼,所以可以選擇每周五定投大成滬深300指數(shù)基金,同時(shí)店溢,也跟上面算出的周一上漲概率更高相呼應(yīng)叁熔。當(dāng)然,在這里是不考慮任何的國家政策影響的走勢床牧。

3.2每兩周定投計(jì)算過程如下:
##自定義函數(shù)荣回,每兩周定投1000,計(jì)算從2012年1月2日至2017年5月5日
vote_data <- function(n,money){
  ##選擇子集
  vote_data <- fund_data[1:1298,-(4:5)]
  vote_data
  ##每兩周定投投1000
  vote_data$number <- c(1,2)
  days_votedata <- vote_data[vote_data$days == n &         vote_data$number == 2 ,]   ##n為周幾定投,2為每兩周定投
  days_votedata
  unit_worth <- days_votedata$`Unit net worth`
  days_votedata$share <- (money-    money*0.0012)/(unit_worth)  ##計(jì)算每次定投時(shí)購買的份額數(shù)
  days_votedata$money <- money                       ##定投的金額
  share <- sum(days_votedata$share)                 ##定投購買的總份額數(shù)
  fundUnit <- 0.9887                                ##2017-05-05的單位凈值
  total_worth <- share*fundUnit                     ##計(jì)算2017-05-05賬面的總額
  total_money <- sum(days_votedata$money)           ##計(jì)算定投的總金額
  total_Purchasefee <- total_money*0.0012           ##計(jì)算申購費(fèi)的總金額
  total_Redemptionfee <- total_worth*0.005          ##計(jì)算贖回費(fèi)的總金額
  Actual_income <- total_worth-total_Redemptionfee  ##計(jì)算贖回到賬實(shí)際金額
  income <- Actual_income-total_money               ##計(jì)算定投的收益
  rate_incom <- income/total_money*100                 ##計(jì)算收益率
  startday <- as.Date("2012-01-04")
  endday <- as.Date("2017-05-05")
  days <- as.numeric(endday-startday)               ##計(jì)算投資天數(shù)
  year <- days/360                                  ##計(jì)算投資年數(shù)
  year_rate <- rate_incom/year
  return(rate_incom)
}
##每兩周一定投
vote_data(1,1000)
##每兩周二定投
vote_data(2,1000)
##每兩周三定投
vote_data(3,1000)
##每兩周四定投
vote_data(4,1000)
##每兩周五定投
vote_data(5,1000)

計(jì)算結(jié)果如下:

數(shù)據(jù)

這里的結(jié)論跟上面的一樣戈咳,也是選擇周五定投收益率相對來說稍微高一點(diǎn)心软。

二、工銀滬深300指數(shù)基金

工銀滬深300指數(shù)基金的計(jì)算過程跟大成滬深300指數(shù)一樣著蛙,在這里省略計(jì)算過程删铃,直接得出結(jié)論:

##從網(wǎng)頁上抓取數(shù)據(jù)
library("XML")
n <- 0:33
for(i in n){
  url_a <- "http://quotes.money.163.com/fund/jzzs_481009_"
  url_b <- ".html?start=2009-02-03&end=2017-05-05&sort=TDATE&order=desc"
  url = paste(url_a,i,url_b,sep="")
  tbls <- readHTMLTable(url)  #確定網(wǎng)頁地址,通過網(wǎng)頁地址分析網(wǎng)頁表格
  sapply(tbls,nrow)       ##第1個(gè)表格是需要的表格
  fund_data <- readHTMLTable(url,which=1)
  datapath=paste("F:/工銀滬深300指數(shù)/fund_data",i,".csv",sep="")
  print(write.csv(fund_data,file = datapath))
}
##將44個(gè)文件內(nèi)的數(shù)據(jù)整合到一個(gè)文件夾中
setwd("F:/")                                                                    
a = list.files("工銀滬深300指數(shù)") 
dir = paste("./工銀滬深300指數(shù)/",a,sep="")  
n = length(dir)
fund_data = read.csv(file = dir[1],header=T,sep=",")
for (i in 2:n){
  new.data = read.csv(file = dir[i], header=T, sep=",")
  fund_data = rbind(fund_data,new.data)
}
write.csv(fund_data,file = "./工銀滬深300指    數(shù)/fund_data.csv",row.names=F)
##得到所需的文件fund_data
library(readxl)
fund_data <- read_excel("F:/工銀滬深300指數(shù)/fund_data.xlsx")
View(fund_data)
##重命名
names(fund_data) <- c("date","days","Unit net     worth","Accumulated net worth","growth rate")
##刪除多余的一列
fund_data <- fund_data[,-6]
fund_data
##按日期進(jìn)行排序踏堡。
library(dplyr)
fund_data <- arrange(fund_data,desc(date))
fund_data
##按照days分組.
days_funddata <- group_by(fund_data,days)
days_funddata
##數(shù)據(jù)計(jì)算猎唁,用summarise()函數(shù)
days_funddata <- summarise(days_funddata,count=n())
days_funddata
##自定義函數(shù)計(jì)算每天增長率大于0的數(shù)據(jù)。
days_data <- function(n){
  days_data <- fund_data[fund_data$days == n,]
  days_data <- days_data[days_data$`growth rate` > 0,]
  return(days_data)
}
##周一增長率大于0的數(shù)據(jù)
days_data(1)
##周二增長率大于0的數(shù)據(jù)
days_data(2)
##周三增長率大于0的數(shù)據(jù)
days_data(3)
##周四增長率大于0的數(shù)據(jù)
days_data(4)
##周五增長率大于0的數(shù)據(jù)
days_data(5)
##重新組合成數(shù)據(jù)
newdays <- c("1","2","3","4","5")      ##周一到周五
newtotal <- c("382","397","399","397","397")   ##周一到周五總共的交易日
newcount <- c("211","216","203","170","226")   ##周一到周    五總共的交易日上漲次數(shù)
newdata <- data.frame(newdays,newtotal,newcount)
newdata
##計(jì)算周一到周五交易日上漲的概率
newcount <- as.numeric(newcount)
newtotal <- as.numeric(newtotal)
rate <- newcount/newtotal
newdata <- cbind(newdata,rate)
newdata
##自定義函數(shù)顷蟆,每周定投1000诫隅,計(jì)算從2012年1月2日至2017年5月5日
vote_data <- function(n,money){
  ##選擇子集
  vote_data <- fund_data[1:1298,-(4:5)]
  ##每周定投1000
  money <- 1000
  days_votedata <- vote_data[vote_data$days == n,]   ##n為周幾定投
  days_votedata
  unit_worth <- days_votedata$`Unit net worth`
  days_votedata$share <- (money-money*0.0012)/(unit_worth)  ##計(jì)算每次定投時(shí)購買的份額數(shù)
  days_votedata$money <- money                       ##定投的金額
  share <- sum(days_votedata$share)                 ##定投購買的總份額數(shù)
  fundUnit <- 0.9816                                ##2017-05-05的單位凈值
  total_worth <- share*fundUnit                     ##計(jì)算2017-05-05賬面的總額
  total_money <- sum(days_votedata$money)           ##計(jì)算定投的總金額
  total_Purchasefee <- total_money*0.0012           ##計(jì)算申購費(fèi)的總金額
  total_Redemptionfee <- total_worth*0.005          ##計(jì)算贖回費(fèi)的總金額
  Actual_income <- total_worth-total_Redemptionfee  ##計(jì)算贖回到賬實(shí)際金額
  income <- Actual_income-total_money               ##計(jì)算定投的收益
  rate_incom <- income/total_money*100                 ##計(jì)算收益率
  startday <- as.Date("2012-01-04")
  endday <- as.Date("2017-05-05")
  days <- as.numeric(endday-startday)               ##計(jì)算投資天數(shù)
  year <- days/360                                  ##計(jì)算投資年數(shù)
  year_rate <- rate_incom/year
  return(rate_incom)
}
##每周一定投
vote_data(1,1000)
##每周二定投
vote_data(2,1000)
##每周三定投
vote_data(3,1000)
##每周四定投
vote_data(4,1000)
##每周五定投
vote_data(5,1000)

結(jié)果如下:

數(shù)據(jù)

從這個(gè)數(shù)據(jù)也可以得出是周五定投時(shí)腐魂,收益率更高一些。所以逐纬,不考慮任何的政策導(dǎo)致的走勢蛔屹,可以選擇周五定投工銀滬深300指數(shù)。

總結(jié):
由于大成滬深300指數(shù)基金和工銀滬深300指數(shù)基金都是跟蹤滬深300指數(shù)的豁生,所以滬深300指數(shù)基金的走勢大致上差異不大兔毒,因此,在不考慮任何客觀因素的情況下甸箱,我們定投滬深300指數(shù)時(shí)眼刃,可以考慮周五定投。

疑惑的是摇肌,為什么同樣是滬深300指數(shù)的基金,兩者的收益會(huì)差這么大呢仪际?經(jīng)過藍(lán)老師的解惑围小,原來是兩個(gè)基金的分紅情況不同,工銀滬深300指數(shù)基金多次分紅树碱,導(dǎo)致基金凈值下降肯适。所以,下一篇模擬一下看看同樣是跟蹤滬深300指數(shù)的基金成榜,收益率是否相差很大框舔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赎婚,隨后出現(xiàn)的幾起案子刘绣,更是在濱河造成了極大的恐慌,老刑警劉巖挣输,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纬凤,死亡現(xiàn)場離奇詭異,居然都是意外死亡撩嚼,警方通過查閱死者的電腦和手機(jī)停士,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來完丽,“玉大人恋技,你說我怎么就攤上這事÷咦澹” “怎么了蜻底?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長聘鳞。 經(jīng)常有香客問我朱躺,道長刁赖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任长搀,我火速辦了婚禮宇弛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘源请。我一直安慰自己枪芒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布谁尸。 她就那樣靜靜地躺著舅踪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪良蛮。 梳的紋絲不亂的頭發(fā)上抽碌,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機(jī)與錄音决瞳,去河邊找鬼货徙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛皮胡,可吹牛的內(nèi)容都是我干的痴颊。 我是一名探鬼主播屡贺,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼甩栈!你這毒婦竟也來了落恼?” 一聲冷哼從身側(cè)響起荒适,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤齐莲,失蹤者是張志新(化名)和其女友劉穎允蜈,沒想到半個(gè)月后冤吨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饶套,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漩蟆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妓蛮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捺癞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出髓介,到底是詐尸還是另有隱情,我是刑警寧澤唐础,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站呀邢,受9級特大地震影響豹绪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞒津,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一仲智、第九天 我趴在偏房一處隱蔽的房頂上張望姻氨。 院中可真熱鬧,春花似錦肴焊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豌注,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間每聪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工药薯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人真屯。 一個(gè)月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓巾陕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晾匠。 傳聞我的和親對象是個(gè)殘疾皇子梯刚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容