坚持定投3年,我赚了多少钱?


哈喽,大家好,我是宁一,一个资深韭菜。

最近听说牛市要来了,甚至有人说牛市已经来了。不知道你们身边的朋友是怎样的,我身边好几个同事还有朋友最近财神附体,有日赚十几万的,七八万的,甚至还有资产直接翻倍的。

这种事情平时在网上看看其实也还好,但如果真实的发生在身边同事还有朋友的身上,对我的幼小心灵造成了极大的冲击,我这么一个平时双耳不闻天下事的人变成了柠檬精本精。

那我自己呢,是18年1月开始定投的,定投了4只指数基金,分别是

18年的时候,大盘还在3300.3400左右徘徊呢,后面就震荡往下,跌破3000点。好像我的账户大多数时间都是绿的

从2018年1月到现在,坚持了两年半的时间,每两周定投一次,每次4000块钱,每只基金分配的金额是1000元。最近这波大涨我的账户终于翻红了,来看一下定投到现在,我账户里面盈利了多少吧

我都记录在表格里面了

先来看一下沪深300这只基金,从18年1月开始定投的,每两周定投一次,每次1000元,最后一共投进去66000元,盈利了14216.58元。收益率21%


再就是中证500,收益率19%,医药收益率43%,传媒收益率18%,这个收益率看着是不是还不错

但可惜并不是我的实际收益,是我用Python抓取了天天基金网上面这些基金的净值数据,然后模拟实际定投的情况计算,导出了这些excel数据。

# coding: utf-8
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from threading import Thread,Lock
import pyquery as pq  #解析网页
import os
import datetime #时间模块
import time
import xlwt #生成excel

#处理网页数据
datalist = dict()
def getItem(doc):
  for item in doc.items():
    # print("item",item)
    datas = pq.PyQuery(item).find("td").items()
    index = 0
    date = ""
    net = ""
    for data in datas:
      index += 1
      if(index == 1):
        date = data.text()
      elif(index == 2):
        net = data.text()
      else:
        break
      if net:
        datalist[date] = net   

# 初始化函数
def initSpider():
  path = os.getcwd()
  driver = webdriver.Chrome(executable_path=(path+"/chromedriver"))
  # 广发中证传媒ETF联接A (004752)  
  # driver.get("http://fundf10.eastmoney.com/jjjz_004752.html")
  # 跨越沪深两市的指数 易方达沪深300ETF联接A (110020)
  # driver.get("http://fundf10.eastmoney.com/jjjz_110020.html")
  # 广发医药卫生联接A(001180)
  # driver.get("http://fundf10.eastmoney.com/jjjz_001180.html")
  # 中证500是最具代表性的小盘股指数 南方中证500ETF联接A (160119)
  driver.get("http://fundf10.eastmoney.com/jjjz_160119.html")

  # 找到"下一页"按钮,就可以得到它前面的一个label,就是总页数
  getPage_text = driver.find_element_by_id("pagebar").find_element_by_xpath(
    "div[@class='pagebtns']/label[text()='下一页']/preceding-sibling::label[1]").get_attribute("innerHTML")
  # 得到总共有多少页
  total_page = int("".join(filter(str.isdigit, getPage_text)))
  # 返回
  return (driver,total_page)

# 获取html内容
def getData(myrange,driver,lock):
  for x in myrange:
    # 锁住
    lock.acquire()
    tonum = driver.find_element_by_id("pagebar").find_element_by_xpath(
      "div[@class='pagebtns']/input[@class='pnum']") # 得到 页码文本框
    jumpbtn = driver.find_element_by_id("pagebar").find_element_by_xpath(
      "div[@class='pagebtns']/input[@class='pgo']") # 跳转到按钮
    tonum.clear() # 第x页 输入框
    tonum.send_keys(str(x)) # 去第x页
    jumpbtn.click() # 点击按钮
    # 抓取
    WebDriverWait(driver, 30).until(lambda driver: driver.find_element_by_id("pagebar").find_element_by_xpath("div[@class='pagebtns']/label[@value={0} and @class='cur']".format(x)) != None)
    doc = pq.PyQuery(driver.page_source).find("#jztable").find("tr")
    getItem(doc)
    lock.release()

# 开始抓取函数
def beginSpider():
  # 初始化爬虫
  (driver, total_page) = initSpider()
  # 创建锁
  lock = Lock()
  r = range(1, int(total_page)+1)
  step = 10
  range_list = [r[x:x + step] for x in range(0, len(r), step)]  #把页码分段
  thread_list = []
  for r in range_list:
    t = Thread(target=getData, args=(r,driver,lock))
    thread_list.append(t)
    t.start()
  for t in thread_list:
    t.join() # 这一步是需要的,等待线程全部执行完成
  print("抓取完成")


def init(dates):
  # 总定投金额
  sum_money = 0.0
  # 总份额
  sum_share = 0.0
  price = 0.0
  wb = xlwt.Workbook()
  ws = wb.add_sheet(u'定投收益',cell_overwrite_ok=True)
  arr = [u"定投日" ,u"净值" , u"份额" , u"当前总份额" ,u"已投入金额" , u"当前盈利(元)" , u"收益率"]
  row = 0
  for index,col_name in enumerate(arr):
    ws.write(0,index,col_name)
  for date in dates:
    row += 1
    ws.write(row,0,str(date))
    price = get_price(date,data)
    ws.write(row,1,str(price))

    sum_money += 1000
    share = "%.2f" % (1000/float(price))
    ws.write(row,2,str(share))
    sum_share += float(share)
    ws.write(row,3,("%.2f" % sum_share))
    ws.write(row,4,str(int(sum_money)))
    cur_profit = "%.2f" % (float(price)*sum_share - sum_money)
    ws.write(row,5,str(cur_profit))
    cur_yield = "%.2f" % (float(cur_profit)*100/sum_money)
    ws.write(row,6,str(cur_yield)+"%")

  # 收益
  get_money = sum_share*float(price)-sum_money
  # 将结果保存到excel中
  path = os.getcwd() + "/dingtou.xls"
  wb.save(path)

  print("总定投金额:","%.2f" % sum_money,"元")
  print("总份额:","%.2f" % sum_share)
  print("当前收益:","%.2f" % get_money,"元")
  print("收益率:","%.2f" %(get_money*100/sum_money) ,"%")
  print("年化收益率:","%.2f" %(get_money*100/sum_money/2.5),"%")

# 比较时间
def compare_time(times):
  s_time = time.mktime(time.strptime(times,'%Y-%m-%d'))
  e_time = time.mktime(time.strptime(str(datetime.date.today()),'%Y-%m-%d'))
  return int(s_time) - int(e_time)

# 格式化日期
def format_time(date):
  new_date = datetime.datetime.strptime(date,'%Y-%m-%d')
  tomorrow = new_date + datetime.timedelta(days=1)
  return str(tomorrow).strip('00:00:00').strip()

#得到交易时间的价格
def get_price(start_day,data):
  # 如果能得到价格,就继续获取下一个定投日的价格
  if(start_day in data):
    price = data[start_day]
    print("定投日:",start_day,'净值:',price)
    return price
  # 如果不能得到价格,说明当天不是交易日,需要获取下一个交易日的价格
  else:
    date = format_time(start_day)
    return get_price(date,data)

# 得到下一个周五
def get_friday(start_day):
  next_friday = datetime.datetime.strptime(start_day,'%Y-%m-%d') + datetime.timedelta(days=14)
  return str(next_friday).strip('00:00:00').strip()

if __name__ == "__main__":
  beginSpider()  
  data = datalist
  print("data",data)
  start_day = "2018-01-05"
  # 将定投日保存到dates中
  dates = []
  while True:
    dates.append(start_day)
    start_day = get_friday(start_day)
    if(compare_time(start_day) >= 0):
      break

  init(dates)

我并没有遵循定投记录去定投,而是根据我自己的想法,想加仓的时候加仓,想减仓的时候减仓。

跌到3000点以下的时候,我的仓位就很重了,投的越多,亏得越多。

本来想着通过定投,跑赢通胀,甚至能有个年化10%的收益,但是投到最后我只想回本。

我的实际情况,以传媒为例,因为在低点的时候我没有加仓,导致我的成本很高。如果坚持定投的话到19年3月的时候其实也就解套了,但是我的账户到了20年7月这波大涨之后才解套,而表格里面已经收益了18个点了。

我实际是投了2万,在前段时间刚回本的时候卖掉了,赚了1000左右,2万元两年半赚了1000,年化2.x%的收益。。还不如买银行理财呢。。还成天担惊受怕的。

最近的感觉就是好像老天爷给每个人都发了一个馅饼,就把我给落下了。。

自己计算了以后,我知道定投是真的可以赚到钱的,但是要遵守规则,到了定投时间,不管净值多少,都要把钱投进去。就算看着自己从盈利3000多变成亏损3000多,也要坚定不移的投下去。

越跌越投,反人性操作。如果根据自己的喜好去投资,很容易被市场牵着鼻子走沦为追跌杀涨的韭菜。

如果你现在想冲进股市的话,要做好心理准备,将投资作为一个财务管理的方式,而不要当成一个一夜暴富的途径。

想要赚更多的钱就要承担更大的风险,希望点赞的你们都能卖到牛市最高点~

坚持定投3年,我赚了多少钱?

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵宁一

点赞是最好的赞赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值