定投纳斯达克20年会有多少收益

发布时间:2026/9/17 13:43:11

定投纳斯达克20年会有多少收益 背景最近网上看到有人问豆包定投的问题验证1豆包的计算正确吗我拿同样的问题问了DeepSeek感觉Deepseek不太准截至到2026年4月来计算投入金额应该在60w左右。验证2再问问ChatgptChatgpt投入金额与豆包计算结果相同但持有的总市值本金收益与豆包计算的结果要差一半到底哪个是对的验证3我让Chatgpt写了一段代码以 $纳指100ETF-Invesco(QQQ)$ 为标的看看20年究竟能收益多钱标的: QQQ投资起始: 2006-01-01当前日期: 2026-05-28累计投入本金: 602,000.00累计持仓份额: 5,652.1816当前价格: 729.45当前市值: 4,122,983.94累计收益: 3,520,983.94总收益率: 584.88%年化收益率(XIRR): 19.28%当前市值为412w收益额为352w足够直观20年接近6倍的收益年化收益率约20%非常强业绩超过了80%的基金经理。代码import yfinance as yf import pandas as pd from dateutil.relativedelta import relativedelta from scipy.optimize import newton # # 参数配置 # TICKER SPY FX_TICKER CNYX # USD/CNY START_DATE 2006-01-01 INITIAL_MONTHLY_RMB 1000 YEARLY_INCREMENT_RMB 150 # # 下载数据 # def download_price_data( ticker, start_date ): df yf.download( ticker, startstart_date, auto_adjustTrue, progressFalse ) if df.empty: raise ValueError(f{ticker} 没有下载到数据) else: print(f获取到{len(df)}条数据) # 修复 MultiIndex if isinstance(df.columns, pd.MultiIndex): df.columns df.columns.get_level_values(0) df df[[Close]].copy() df.index pd.to_datetime(df.index) return df # # 生成定投日期 # def generate_invest_dates(df): start_dt df.index.min() end_dt df.index.max() current pd.Timestamp( yearstart_dt.year, monthstart_dt.month, day1 ) invest_dates [] while current end_dt: invest_dates.append(current) current relativedelta(months1) return invest_dates # # 获取实际交易日 # def get_actual_trade_date(df, invest_date): future_dates df.index[df.index invest_date] if len(future_dates) 0: return None return future_dates[0] # # XIRR # def xnpv(rate, cashflows): t0 cashflows[0][0] return sum( cf / ((1 rate) ** ((t - t0).days / 365.0)) for t, cf in cashflows ) def xirr(cashflows, guess0.1): return newton( lambda r: xnpv(r, cashflows), guess ) # # 定投模拟加入汇率 # def simulate_dca_with_fx( etf_df, fx_df, invest_dates, initial_monthly_rmb, yearly_increment_rmb ): total_shares 0.0 total_invested_rmb 0.0 records [] cashflows [] for invest_date in invest_dates: actual_date get_actual_trade_date( etf_df, invest_date ) if actual_date is None: break # # 获取 ETF 价格 # etf_price_usd float( etf_df.loc[actual_date, Close] ) # # 获取汇率 # CNYX 表示: # 1 USD ? RMB # fx_rate float( fx_df.loc[actual_date, Close] ) # # 计算定投金额 # years_passed actual_date.year - 2006 monthly_rmb ( initial_monthly_rmb years_passed * yearly_increment_rmb ) # RMB - USD monthly_usd monthly_rmb / fx_rate # 买入份额 shares_bought monthly_usd / etf_price_usd total_shares shares_bought total_invested_rmb monthly_rmb # 现金流人民币 cashflows.append( (actual_date, -monthly_rmb) ) records.append({ date: actual_date, monthly_rmb: monthly_rmb, fx_rate: fx_rate, monthly_usd: monthly_usd, etf_price_usd: etf_price_usd, shares_bought: shares_bought, total_shares: total_shares }) # # 当前资产 # latest_etf_price float( etf_df[Close].iloc[-1] ) latest_fx_rate float( fx_df[Close].iloc[-1] ) # ETF 市值美元 current_value_usd ( total_shares * latest_etf_price ) # 转回人民币 current_value_rmb ( current_value_usd * latest_fx_rate ) profit_rmb ( current_value_rmb - total_invested_rmb ) cashflows.append( ( etf_df.index[-1], current_value_rmb ) ) annual_return xirr(cashflows) result { total_invested_rmb: total_invested_rmb, total_shares: total_shares, current_value_usd: current_value_usd, current_value_rmb: current_value_rmb, profit_rmb: profit_rmb, xirr: annual_return, records: pd.DataFrame(records) } return result # # 主程序 # def main(): print(下载 ETF 数据...) etf_df download_price_data( TICKER, START_DATE ) print(下载汇率数据...) fx_df download_price_data( FX_TICKER, START_DATE ) # 对齐日期 common_index etf_df.index.intersection( fx_df.index ) etf_df etf_df.loc[common_index] fx_df fx_df.loc[common_index] invest_dates generate_invest_dates( etf_df ) result simulate_dca_with_fx( etf_dfetf_df, fx_dffx_df, invest_datesinvest_dates, initial_monthly_rmbINITIAL_MONTHLY_RMB, yearly_increment_rmbYEARLY_INCREMENT_RMB ) # # 输出 # print( * 60) print(fETF: {TICKER}) print( * 60) print( f累计投入(RMB): f{result[total_invested_rmb]:,.2f} ) print( f累计持仓份额: f{result[total_shares]:,.4f} ) print( f当前市值(USD): f{result[current_value_usd]:,.2f} ) print( f当前市值(RMB): f{result[current_value_rmb]:,.2f} ) print( f累计收益(RMB): f{result[profit_rmb]:,.2f} ) print( f总收益率: f{result[profit_rmb] / result[total_invested_rmb] * 100:.2f}% ) print( f年化收益率(XIRR): f{result[xirr] * 100:.2f}% ) print( * 60) # # 启动 # if __name__ __main__: main()
延伸阅读

更多相关文章

2026/9/6 21:41:17

龍魂·数字根计算引擎 v1.0

这是专门为龙魂系统定制的数字根计算引擎,CNSH五行计算器和流场压缩核的底层组件。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 龍魂数字根计算引擎 v1.0 DNA: #龍芯⚡️丙午乙未甲辰离为火-数字根引擎-v1.0 CONFIRM: #CONFIRM&#x1f30…

2026/9/12 2:56:29

带你从不同视角了解三大MQ

前言 首先我提一点我自己的学习心得,我通过最近学习项目,我觉得我们在学习新技术的时候,要始终记得有一个前提:技术的诞生是为了解决问题。 我们不要为了学而去学,这样其实没自己思考学的和理解的也比较慢&#xff0…

2026/9/16 7:02:04

AI写作工具在学术专著创作中的高效应用

1. AI写作工具在学术专著创作中的革命性应用当我在2022年第一次尝试用AI工具辅助完成我的第三本专业著作时,那种效率提升的震撼感至今难忘。传统专著写作往往需要耗费学者数月甚至数年的心血,而现在,合理运用AI工具可以将初稿产出时间缩短60%…

2026/9/17 13:39:56

国内高校动态和留学资讯放在一起

有没有把国内高校动态和留学资讯放在一起的教育网站? 有没有把国内高校动态和留学资讯放在一起的教育网站?有阅读层,没有办理层。家里同时关心高考或国内高校,又在看留学消息时,两套互不相关的信息流最容易漏掉其中一边…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/17 0:03:13

WiFi密码安全测试:从原理到实战的字典暴力破解指南

1. 写在前面:我为什么要研究WiFi密码这件事先交代一下背景。我身边有不少朋友,家里的WiFi密码常年是"12345678"或者"88888888",问就是"好记"。直到有一次,隔壁邻居蹭网蹭到我家路由器后台都进不去&…

2026/9/17 0:03:13

redis-py服务控制与监控函数实战:从ping到slowlog的巡检指南

我用 redis-py 写了快五年的业务代码,坦白说,真正让我觉得这个客户端“像一个成熟工具箱”的,不是 get/set 那套基本操作,而是它那批专门做服务控制与状态监控的辅助函数。日常开发里,大家把redis.Redis(host..., deco…

2026/9/17 0:03:13

SpringBoot+Vue3实现中小企业设备管理系统开发实践

1. 项目概述与核心价值中小企业设备管理系统是制造业、服务业等领域的基础信息化工具。传统设备管理往往依赖Excel表格或纸质记录,存在数据孤岛、流程混乱、维护成本高等痛点。这套基于Java SpringBootVue3MyBatis的技术方案,通过前后端分离架构实现了设…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码