417,你的能量不容低估,也不能高估

作者参加半程马拉松,经历脚痛与膝盖不适,但通过跟随兔子跑的方式,精神状态得到提升。马拉松结束后,作者前往植物园欣赏郁金香,体验与自然的亲密接触,最终分享了跑步与自然探索的快乐。

4月17日,是北京国际长跑节,可惜我没有报名。因为,我不想参加比赛,和很多人一起跑。

4月10日,奥森半马跑崩了,还总结了一顿经验教训,但是好像除了每天都keep一下,一周的跑量还是基本为0。惭愧。

夏天越来越近,温度越来越高,太阳也越来越明耀。

17日,五点四十醒来,洗刷、烧热水、吃面包,六点半出门,骑车去奥森北园北门。慢走加拉伸完毕,才只有6:55.不能再等,开跑咯。

第一个五公里,左脚脚心开始有撕裂感,左膝盖微微异样。

十公里处,左脚撕裂感减轻,左右膝盖开始略微酸疼,左右脚大脚趾后面那个大骨头处开始挤压疼。

风,越来越大。迎风跑时,风越大,速度稍微变慢,但是因为和风抗争,脚和膝盖的不适感反而感受不到了。风力一旦减小,疲惫感立马袭来。这是什么操蛋的神经?!

刚过西门,嗯,奥森马拉松名枪开跑,还吓了宝宝一跳。

原本咬牙切齿开始想放弃的宝宝,被一大波兴冲冲满身活力的人夹在了中间,立马也满血复活了!

瞅准了一个头上系着气球的男生,觉得他应该就是个兔子。感受了下他的速度,恩510~540之间。决定剩下的将近9公里,就跟着他跑了。能跟到哪儿,就跟到哪儿吧。

于是,自己的速度跟着兔子开始变快了,宝宝的呼吸开始急促,身体开始有丝丝累意。兔子离宝宝越来越远,宝宝只能在心里默默祝福兔子了~

跑着跑着,发现兔子被自己的气球,给缠住了,恩,轻松超过了兔子。

后来,再次被兔子超越。只能跟着配速基本是530~540的跑着慢慢跑。

跑到十九公里处,突然听到嗯~的一声,发现,原本以为在我前面老远的兔子,又出现了,从背后超过了我,在跑过我时,还回头瞅了我一眼(姐顿时好害羞呀,被那么一个帅哥看了一眼)

哈哈哈哈哈哈哈哈,这兔子估计是去厕所了?

兔子帅哥热的满脸是汗,就用缠在手腕上的方巾擦呀擦,姐姐又再一次轻松超过了兔子。可惜,我感觉兔子可能觉得被一个女生超过是不能饶恕自己的行为,于是又再一次超过了我。

恩,我就要跑满21km了,然后,半马到了,1小时57分钟7秒。第四次半马,pb了一下。心里高高兴兴的。然后又慢跑了几分钟,21.6km,2小时10秒,平均配速5分33秒,步频186,步幅96,步数22397。

跟着兔子跑,心里真的幸福满满的。

当拖着疲惫的身体,疼痛的双脚慢慢走向桥头去拉伸的时候,真心觉得自己就是个胜利归来满身是伤虽死犹荣的战士(*@ο@*) 哇~

拉伸完,骑车回家,冲澡洗衣服刷鞋子煮面,收拾完毕就坐公交转地铁去植物园辣~

从植物园东南门进,就看到道路两边各色的花儿,郁金香一片一片的,真心漂亮。原本以为花儿分列道路两旁也就算了,但是,越往里走,郁金香愈多,握草,忽然发现漫山遍野的都是郁金香( ⊙ o ⊙ )啊!

漫山遍野郁金香

漫山遍野郁金香

漫山遍野郁金香

惊讶的我都想尖叫

根本就不能拍照了嘛,因为根本就拍不过来嘛

最后还是恋恋不舍的去了牡丹园,但是,牡丹园的牡丹开的比较少,每一个开着的牡丹花里都有好多只蜜蜂在里面拱啊拱。看着,觉得略微恶心啊。

转去了樱桃沟,去看了看我魂牵梦绕的水杉。长得高高直直,叶子也翠绿翠绿的新绿。真是美美哒~

双腿好疼,只能返程。返程的路上,人好多。地铁四号线一不小心睡着,坐过了两站地。真的是实在太困了。

晚上不到十点就睡了。今早醒来,发现双膝和左大腿骨头有些疼。昨天走了42700多步,真的是劳累过度了。

没有想到,自己能用5’33"的速度跑下半马,也高估了自己跑了半马还能安全完好逛下植物园。

希望这次身体没有留下什么隐患吧。

转载于:https://www.cnblogs.com/slysky/p/5403457.html

<think>好的,我现在需要帮助用户使用Python进行股票分析,并可视化显示被低估和被高估的股票。首先,我需要明确用户的需求。用户提到的“被低估”和“被高估”通常涉及价值投资的指标,比如市盈率(P/E)、市净率(P/B)或者企业价值倍数(EV/EBITDA)等。可能需要比较这些指标的历史数据或行业平均值来判断股票的状态。 接下来,我得考虑数据来源。用户可能需要从Yahoo Finance、AlphaVantage或者本地文件获取数据。这里可能需要使用库如yfinance或pandas_datareader来获取实时或历史股票数据。然后,分析部分。用户需要计算相关指标,并确定哪些股票被低估高估。例如,可以计算市盈率,然后与行业平均市盈率比较,低于平均的视为被低估,反之则被高估。或者使用回归分析,比如线性回归,计算股票的合理价值,与实际价格比较。可视化方面,用户可能需要用matplotlib或seaborn生成图表。可能的图表类型包括散点图(显示价格与指标的关系)、折线图(展示价格与预测值的偏离)或者条形图(比较不同股票的指标值)。另外,参考用户提供的引用[3],其中提到了Z-score和交易信号的可视化,可能类似的方法可以应用在这里,比如用阈值线标识高估低估区域,并用标记显示具体股票的位置。另外,需要考虑异常处理和数据清洗。比如处理缺失值,确保计算的指标有效。同时,可能需要使用统计学方法,如计算置信区间(如引用[2]中的方法),来辅助判断价格是否显著偏离合理值。步骤可能包括: 1.获取股票数据(历史价格、财务指标)。 2.计算评估指标(如P/E、P/B)。 3.确定基准(行业平均、历史均值)。 4.识别被高估/低估的股票。5.可视化结果。在代码实现上,可能需要使用pandas处理数据,numpy进行计算,以及matplotlib/seaborn绘图。例如,引用[3]中的代码展示了如何绘制Z-score和交易信号,可以借鉴其使用阈值线和散点标记的方法。需要提醒用户注意数据更新的问题,以及不同评估方法的局限性。例如,市盈率可能不适用于亏损公司,不同行业的基准值差异较大等。最后,生成相关问题,引导用户进一步深入分析,如优化模型、其他指标的应用,或实时数据获取等。</think>### 股票价值评估与可视化分析步骤 #### 一、数据准备 使用`yfinance`获取股票财务数据: ```python import yfinance as yf import pandas as pd # 获取标普500成分股列表 sp500 = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0] tickers = sp500['Symbol'].tolist() # 下载财务数据 data = yf.download(tickers, period="1y", group_by='ticker') ``` #### 二、价值评估指标计算 计算市盈率(P/E)和市净率(P/B): ```python def calculate_valuation(stock): try: info = yf.Ticker(stock).info pe_ratio = info.get('trailingPE', None) pb_ratio = info.get('priceToBook', None) return {'Stock': stock, 'P/E': pe_ratio, 'P/B': pb_ratio} except: return None valuation_df = pd.DataFrame([calculate_valuation(t) for t in tickers]).dropna() ``` #### 三、基准值确定 ```python industry_pe = { 'Technology': 25.3, 'Healthcare': 22.1, 'Financials': 15.7, # 添加更多行业数据... } ``` #### 四、价值偏离分析 使用Z-score标准化处理: $$ z = \frac{x - \mu}{\sigma} $$ ```python from scipy import stats valuation_df['P/E Zscore'] = stats.zscore(valuation_df['P/E']) valuation_df['P/B Zscore'] = stats.zscore(valuation_df['P/B']) ``` #### 五、可视化实现 ```python import matplotlib.pyplot as plt import seaborn as sns plt.figure(figsize=(14, 7)) sns.scatterplot(data=valuation_df, x='P/E', y='P/B', hue='Industry', style='Valuation Status', palette='viridis') # 添加参考线 plt.axvline(x=industry_avg_pe, color='r', linestyle='--', label='Industry Avg P/E') plt.axhline(y=industry_avg_pb, color='b', linestyle='--', label='Industry Avg P/B') # 标注异常值 outliers = valuation_df[(abs(valuation_df['P/E Zscore']) > 2) | (abs(valuation_df['P/B Zscore']) > 2)] for idx, row in outliers.iterrows(): plt.annotate(row['Stock'], (row['P/E'], row['P/B']), textcoords="offset points", xytext=(0,10)) plt.title('Stock Valuation Analysis') plt.xlabel('P/E Ratio') plt.ylabel('P/B Ratio') plt.legend(bbox_to_anchor=(1.05, 1)) plt.tight_layout() plt.show() ``` #### 六、价值回归模型(参考引用[1]) ```python from sklearn.linear_model import LinearRegression # 使用历史PE建立回归模型 model = LinearRegression() X = valuation_df[['P/E']].values y = valuation_df['Price'].values model.fit(X, y) # 计算预测价格 valuation_df['Predicted Price'] = model.predict(X) valuation_df['Price Deviation'] = (valuation_df['Price'] - valuation_df['Predicted Price']) / valuation_df['Predicted Price'] ``` ![股票估值分布图](mocked-image-url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值