接着上回说的 28 岁三种选择,我们来实现一个人生路线模拟器吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
djangovcps
V2EX    生活

接着上回说的 28 岁三种选择,我们来实现一个人生路线模拟器吧

  •  
  •   djangovcps 2023-11-27 17:52:05 +08:00 2488 次点击
    这是一个创建于 688 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 完整条件

      初始条件

      • 一线城市房价:550 万
      • 二线城市房价:150 万

      路径 A (继续在一线城市工作):

      • 初始薪资:25,000 元/月
      • 无房,存款老家房子,折现 40 万

      路径 B (到二线城市工作):

      • 初始薪资:14,000 元/月
      • 存款老家房子,折现 40 万

      路径 C (回老家):

      • 初始薪资:5,000 元/月
      • 有房贷 60 万

      事件概率和影响

      • 路径 A
        • 好事:薪资每年上涨 10%,概率为 30%
        • 坏事:被裁员,失去固定薪资 3 个月,概率为 10%
        • 期望事件进度:5 年后买车,买房(首付 35%),结婚
      • 路径 B
        • 好事:薪资为一线城市的 90%,概率为 60%;薪资增长概率为 30%
        • 坏事:水土不服,长期待业或只有原薪资 50%,概率为 10%
        • 期望事件进度:买房,5 年后买车,结婚
      • 路径 C
        • 好事:薪资为一线城市的 50%,概率为 30%;正常为 20%-30%
        • 坏事:老家房子贬值 30%-40%,概率为 40%
        • 期望事件进度:还清房贷,结婚

      模拟的关键变量

      • 每月薪资的 65%可用于支出房子和车子
      • 存款的累积和更新
      • 每月薪资的变化
      • 特定事件(如买车、买房、结婚)对总进度的影响
      • 随机事件的发生概率
    import random # 定义基本参数 initial_salary_a = 25000 # 路径 A 初始薪资 initial_salary_b = 14000 # 路径 B 初始薪资 initial_salary_c = 5000 # 路径 C 初始薪资 savings_a = 400000 # 路径 A 初始存款 savings_b = 400000 # 路径 B 初始存款 savings_c = 0 # 路径 C 初始存款 mortgage_c = 600000 # 路径 C 房贷 first_tier_price = 5500000 # 一线城市房价 second_tier_price = 1500000 # 二线城市房价 salary_increase_prob_a = 0.3 # 一线城市薪资增长概率 salary_increase_prob_b = 0.3 # 二线城市薪资增长概率 layoff_prob = 0.1 # 被裁员概率 house_depreciation_prob_c = 0.4 # 老家房子贬值概率 salary_usable_ratio = 0.65 # 薪资中可用于支出的比例 duration = 15 * 12 # 模拟时间(月) # 模拟函数 def simulate_path_with_negatives(path): import random # 基本参数 initial_salary_a = 25000 initial_salary_b = 14000 initial_salary_c = 5000 savings_a = 400000 savings_b = 400000 savings_c = 0 mortgage_c = 600000 first_tier_price = 5500000 second_tier_price = 1500000 duration = 15 * 12 salary_usable_ratio = 0.65 # 事件概率 salary_increase_prob_a = 0.3 salary_increase_prob_b = 0.3 layoff_prob = 0.1 house_depreciation_prob_c = 0.4 # 模拟函数 def simulate_path(path): salary = initial_salary_a if path == 'A' else initial_salary_b if path == 'B' else initial_salary_c savings = savings_a if path == 'A' else savings_b if path == 'B' else savings_c mortgage_remaining = mortgage_c if path == 'C' else 0 progress = 0 married = False house_bought = False car_bought = False for month in range(duration): if path == 'A' and random.random() < salary_increase_prob_a: salary *= 1.1 elif path == 'B' and random.random() < salary_increase_prob_b: salary *= 1.1 if path == 'A' and random.random() < layoff_prob: salary = 0 elif path == 'B' and random.random() < layoff_prob: salary *= 0.5 usable_salary = salary * salary_usable_ratio savings += usable_salary if not car_bought and month >= 60: car_bought = True progress += 10 if not house_bought and (savings >= first_tier_price * 0.35 if path == 'A' else savings >= second_tier_price * 0.35): house_bought = True savings -= first_tier_price * 0.35 if path == 'A' else second_tier_price * 0.35 progress += 30 if not married and (house_bought or path == 'C'): married = True progress += 20 if path == 'C' and random.random() < house_depreciation_prob_c: mortgage_remaining *= (1 - 0.35) if path == 'C' and mortgage_remaining > 0: repayment = min(mortgage_remaining, usable_salary) mortgage_remaining -= repayment savings -= repayment if mortgage_remaining == 0: progress += 20 if salary == 0 and month % 3 == 0: salary = initial_salary_a if path == 'A' else initial_salary_b if path == 'B' else initial_salary_c return progress progress_a = simulate_path('A') progress_b = simulate_path('B') progress_c = simulate_path('C') # a=60% b=60% c=50% 
    11 条回复    2023-11-29 14:39:39 +08:00
    Eagleyes
        1
    Eagleyes  
       2023-11-27 20:13:29 +08:00   2
    我选 D

    一线赚钱到 30 岁-33 岁。积累存款 100-200 万。

    之后你想干嘛干嘛,选 abc 都可以。

    记住,在没搞到 100 万之前不要想着享受,要有农民工的心态,农民工知道吧,人家工资基本净落,除了吃饭基本不花钱,做不到就努力压缩成本尽量像他们靠拢就可以了。

    你说 25000 ,我默认税前吧,不涨薪的情况下,税后 2 万也差不多,一年 24 万,
    咱努努力一年存个 15-20 万,5-7 年即可存到 100 万。
    shm7
        2
    shm7  
       2023-11-28 14:40:56 +08:00
    先看看前几天 500 万武汉买房的。150 万二线可能有点乐观。
    inpm
        3
    inpm  
       2023-11-29 09:59:58 +08:00
    @Eagleyes 不错的想法,开源节流都不容易,点外卖、打车、3C ,有个爱好,一年能存 10w 都是乐观的。
    catch
        4
    catch  
       2023-11-29 10:04:13 +08:00
    你二线买的房子,出租的钱,够你一线租房了,一线干到失业 走人。
    Eagleyes
        5
    Eagleyes  
       2023-11-29 10:07:49 +08:00   1
    @inpm #3

    点外卖,不会自己做饭啊? 10 块钱素材吃到撑,一个素炒土豆丝,麻婆豆腐卖 15-18 ,自己买菜做才知道成本有多低,
    除非 996 我也不说啥了;

    打车,就那么懒?来一线享受生活的啊?除非 996 给报销也不说啥了,不然老老实实坐公交地铁去,一个月 200 顶天了,忽略不计;

    3C ,无非就是买个手机,相机,游戏机?还年年换新啊?不照照镜子自己有那实力么? 2-3 年换新一次也没多少钱,相机更是耐用品,游戏机游戏虽然贵,一年也玩不了几个,完了之后把光盘卖了继续买新款,没多少钱;
    djangovcps
        6
    djangovcps  
    OP
       2023-11-29 10:15:45 +08:00
    @Eagleyes 刚毕业前三年花钱都大手大脚的,中后期才知道存钱,已经有点晚了
    Eagleyes
        7
    Eagleyes  
       2023-11-29 10:20:58 +08:00
    @djangovcps #6 3 年时间并不晚,以自身经历来看,前三年即使很会过也存不下多少钱,
    大概是工作 5-7 年后才能显著增长。

    因为前三年初出茅庐,看啥都新鲜,管不住手也是人之常情;
    另外就是开始的时候啥都没有,需要置办。基本生活,生存物品买了之后才能开始逐渐消停。
    seeu2ex
        8
    seeu2ex  
       2023-11-29 13:36:32 +08:00
    你这选项明显是没有外力干涉的情况下,现实还会有外力介入,混沌性太强了,基本不可能如你所愿
    djangovcps
        9
    djangovcps  
    OP
       2023-11-29 14:09:44 +08:00
    @Eagleyes 薪资到瓶颈了,现在还要考虑裁员问题,头疼得很
    djangovcps
        10
    djangovcps  
    OP
       2023-11-29 14:10:22 +08:00
    @seeu2ex 可以继续添加随机奖励和惩罚,这是个简单的 demo
    Eagleyes
        11
    Eagleyes  
       2023-11-29 14:39:39 +08:00
    @djangovcps #9 听楼主的意思,之前可能太顺了,有点像出道即巅峰。
    不太理解赚钱之艰难,花钱也大手大脚。

    好在才 3 年,不算晚。我一个同事 35 岁才醒过来,那真是悔之晚矣。
    现年近五旬,背井离乡,抛妻弃子的出来打工养家(当年太潇洒了没存下钱来在打工地置业)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3096 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:57 PVG 19:57 LAX 04:57 JFK 07:57
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86