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

170 天前
 djangovcps
  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%

1739 次点击
所在节点    生活
11 条回复
Eagleyes
170 天前
我选 D

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

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

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

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

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

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

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

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

好在才 3 年,不算晚。我一个同事 35 岁才醒过来,那真是悔之晚矣。
现年近五旬,背井离乡,抛妻弃子的出来打工养家(当年太潇洒了没存下钱来在打工地置业)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/995677

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX