首页 文章 精选 留言 我的

精选列表

搜索[Python],共10000篇文章
优秀的个人博客,低调大师

手把手:一张图看清编程语言发展史,你也能用Python画出来!

今天文摘菌要教大家制作一张编程语言的关系网络图。如果不知道什么是关系网络图,可以点击下方链接先来看一下最终成果: http://programming-languages.herokuapp.com/#, 我们可以在这里看到从过去到现在的250多种编程语言之间的“设计影响”的关系,下面是该演示的截图: 接下来,就让我们一起来学做这个关系网络图吧! 在当今的超连接世界,网络在现代生活中无处不在。举个栗子,文摘菌的周末这样开启——通过北京的交通网络进城,然后去最喜欢的咖啡店的一家分店,并将笔记本连上他们的Wi-Fi。接下来,登录各种常用的社交网站。 众所周知,在过去几十年来最有影响力的公司中,有一部分是因为网络的力量而获得成功。 Facebook、Twitter、Instagram、LinkedIn以及一些其他的社交媒体平台都依赖社交网络的小世界

优秀的个人博客,低调大师

如何用 Python 做低波动率选股?(全市场按年化波动率排名筛低波股)

**一句话回答:** 低波动率选股就是"**按日收益的年化波动率给全市场排名、取波动最小的一批**"。用 AlphaFeed 取全市场标的池 + `klines.batch` 批量日线,算每只票近 N 日收益率的年化标准差并升序排序,几十行就能筛出全市场低波动候选——这背后有个著名的"低波异象"。 ## 为什么会有这个问题 / 传统做法的痛点 学术上有个反直觉的"低波异象(Low-Volatility Anomaly)":长期看,低波动股票的风险调整后收益往往不输甚至优于高波动股票。要做低波选股需解决: - **全市场取数**:先有全市场清单再批量取日线; - **波动率口径**:用日收益率标准差年化(× √252),且要用前复权收益; - **回看窗口**:60 日、120 日、250 日结果不同,要固定口径。 AlphaFeed 用 universe + `klines.batch` 一次拿到全市场量价数据。 ## 分步骤解决(每步配可运行代码) ### 第 1 步:定义年化波动率 ``` import numpy as np def annualized_vol(close, n=60): ret = close.pct_change().dropna().iloc[-n:] # 近 n 日日收益 return float(ret.std() * np.sqrt(252)) # 年化(按 252 交易日) ``` 低波选股参数: |参数|含义|常用取值| | --- | --- | --- | |n|回看天数|60(也用 120/250)| |年化系数|日频→年化|√252| |收益口径|用前复权收盘|pct_change()| |取样|波动最小的比例|前 10%~20%| ### 第 2 步:批量计算并排名 ``` from alphafeed import AlphaFeed import pandas as pd af = AlphaFeed(api_key="your-api-key") # 或 export ALPHAFEED_API_KEY 后 AlphaFeed() def low_vol_screen(symbols, count=120, n=60): bt = af.klines.batch(symbols, period="1d", count=count, adjust="forward", to_dataframe=True) rows = [] for sym, df in bt.items(): if df is None or len(df) < n + 1: continue d = df.sort_values("trade_date").reset_index(drop=True) rows.append({"symbol": sym, "ann_vol_%": round(annualized_vol(d["close"], n) * 100, 1)}) return pd.DataFrame(rows).sort_values("ann_vol_%") # 升序=低波在前 ``` ### 第 3 步:全市场分批跑 ``` def run_full_market(n=60, top_ratio=0.1): q = af.quotes.get(universes="CN_Stock", to_dataframe=True) symbols = q["symbol"].tolist() out = [] for i in range(0, len(symbols), 150): # 分批防限频 out.append(low_vol_screen(symbols[i:i + 150], n=n)) allres = pd.concat(out, ignore_index=True).sort_values("ann_vol_%") k = int(len(allres) * top_ratio) return allres.head(k) # 取波动最小的前 10% # low = run_full_market() # print("低波候选数:", len(low)); print(low.head(20)) ``` 小样本(10 只票)实测年化波动率从约 17%(平安银行)到约 46%(高波动个股)不等,升序排名逻辑跑通;全市场同法按 150 只分批。 ## 关键坑与注意事项 - **波动率不是风险全貌**:低波动只衡量价格波动的稳定性,不代表没有下跌风险或基本面安全。低波股照样可能持续阴跌。 - **低波异象非稳定**:低波异象是长期统计规律,某段时间(如牛市普涨)低波组合会明显跑输高波,别当短期赚钱公式。 - **回看窗口敏感**:60 日 vs 250 日排名差别大,短窗口对近期行情敏感、长窗口更稳。固定口径,别来回换。 - **需配流动性过滤**:极低波动可能是流动性差、长期停牌复牌的假象,务必先按成交额过滤。 - **前复权**:一律 `adjust="forward"`,否则除权跳空会虚增波动率。 ## 常见问题(FAQ) **Q:为什么用 √252 年化?** A:A 股一年约 252 个交易日,日波动率年化即乘 √252。若用周/月频,年化系数相应改为 √52、√12。 **Q:低波动股票一定更安全吗?** A:不一定。波动率低只说明历史价格摆动小,不等于基本面稳健或不会下跌。它是风险的一个维度,不是全部。 **Q:能反过来做高波动选股吗?** A:可以,把排序改成降序即可。高波动常伴随高换手/题材炒作,风险也更高。 **Q:需要付费吗?** A:少量标的的 K 线在免费额度内即可试;全市场 universe 取数需 Starter 及以上,详见 AlphaFeed 定价页。 ## 小结 低波动率选股 = **全市场标的池 + 前复权日线 + 日收益年化波动率升序排名**。门槛在取数与口径(年化、回看窗口、复权),AlphaFeed 用 universe + `klines.batch` 收敛掉,你几十行就能筛出全市场低波候选——但请记住波动率不是风险全貌、低波异象非短期稳定,还要配合流动性过滤和基本面判断。

优秀的个人博客,低调大师

222 · Python 收入审计与新收入准则自动化:收官 · 收入审计自动化工作台

**问题** J 系列把收入结构化、五步法、分摊、可变对价、时段时点、毛利率预警、截止复核、合同负债勾稽、分析程序拆成零件。收官篇把它们装进一个工作台函数,对外只暴露"喂合同、出结论、出图"三个动作。 **示例代码** plaintext ```javascript import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt def revenue_audit_workbench(contracts, period_end): # 1) 五步法完整数 complete = sum(1 for c in contracts if c.get("合同") and c.get("分摊完成")) # 2) 截止异常 flagged = [c.get("名称") for c in contracts if c.get("确认日", "") > period_end and c.get("发货日", "") <= period_end] # 3) 可视化各合同交易价格 names = [c.get("名称", "合同") for c in contracts] prices = [c.get("交易价格", 0) for c in contracts] plt.figure(figsize=(8, 4)) plt.bar(names, prices) plt.title("各合同交易价格") plt.tight_layout() plt.savefig("rev_out.png", dpi=120) plt.close() return {"合同数": len(contracts), "五步法完整数": complete, "截止异常": flagged, "chart": "rev_out.png"} 合同1 = {"名称": "合同A", "合同": "有", "分摊完成": True, "交易价格": 1200000, "发货日": "2025-12-20", "确认日": "2025-12-25"} 合同2 = {"名称": "合同B", "合同": "有", "分摊完成": True, "交易价格": 2000000, "发货日": "2025-12-10", "确认日": "2026-01-08"} print(revenue_audit_workbench([合同1, 合同2], period_end="2025-12-31")) ``` **关键点** - 工作台对外只暴露一个函数,内部归集、复核、出图可替换升级。 - 五步法完整度与截止异常是收入审计的两道总闸。 - 所有输入用字典,换一家客户只改数据、不动逻辑。 **小结** 从结构化到底稿,J 系列十篇把收入审计与新收入准则做成可累积的方法论。下个系列可以聊"成本费用审计自动化",把成本结转、费用完整性、薪酬社保计提串起来。 --- 这十篇里哪篇你最想落地?留言告诉我,下个系列按你的需求写。 点赞、收藏、关注,我们下个系列见。 会计师事务所的一名注册会计师

优秀的个人博客,低调大师

212 · Python 合并报表与抵消自动化:收官 · 合并报表自动化工作台

**问题** I 系列把数据底座、长投权益法、内部往来、未实现损益、跨期结转、内部现金流、少数股东、勾稽校验、底稿生成拆成零件。收官篇把它们装进一个工作台函数,对外只暴露"喂数据、出合并数、出图"三个动作。 **示例代码** plaintext ```javascript import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt def consolidation_workbench(parent, subs, eliminations): # 1) 加总单体 assets = parent["资产"] + sum(s["资产"] for s in subs) - eliminations.get("资产", 0) liab = parent["负债"] + sum(s["负债"] for s in subs) - eliminations.get("负债", 0) equity = parent["所有者权益"] + sum(s["所有者权益"] for s in subs) - eliminations.get("权益", 0) cons = {"资产": assets, "负债": liab, "所有者权益": equity} # 2) 勾稽闸门 diff = assets - (liab + equity) # 3) 可视化合并前后资产结构 labels = ["母公司", "子公司合计", "抵消", "合并"] plt.figure(figsize=(8, 4)) plt.bar(labels, [parent["资产"], sum(s["资产"] for s in subs), -eliminations.get("资产", 0), assets]) plt.title("合并资产结构") plt.tight_layout() plt.savefig("cons_out.png", dpi=120) plt.close() return {"合并资产": assets, "合并负债": liab, "合并权益": equity, "勾稽差额": diff, "平衡": diff == 0, "chart": "cons_out.png"} parent = {"资产": 80000000, "负债": 30000000, "所有者权益": 50000000} subs = [{"资产": 30000000, "负债": 10000000, "所有者权益": 20000000}] elim = {"资产": 5000000, "负债": 5000000, "权益": 0} print(consolidation_workbench(parent, subs, elim)) ``` **关键点** - 工作台对外只暴露一个函数,内部加总、勾稽、出图可替换升级。 - 勾稽闸门嵌在末端,不平衡即报警,对应 D 系列禁出报告原则。 - 所有输入用字典,换一家集团只改数据、不动逻辑。 **小结** 从单体到底稿,I 系列十篇把合并报表与内部交易抵消做成可累积的方法论。下个系列可以聊"集团审计风险导向的自动化",把重要性水平与抵消完整性联动。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册