# paperICU **Repository Path**: ranglab/paper-icu ## Basic Information - **Project Name**: paperICU - **Description**: paper.icu - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-09 - **Last Updated**: 2025-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # paperICU paper.icu single repo ## 开发环境配置 ### vscode 将自动格式化的工具设置为“black” ``` "python.formatting.provider": "black" ``` ## GiveMe 设计目标: - 数据集可重现、可切换 - 根据config文件读取对应版本的原始数据(可由python执行) - 按照固定的方法处理原始数据 数据库构成: - CSMAR原始数据,命名规范:库名-表名_版本号.csv,例如【财务报表-资产负债表_2022-01-11.csv】 - GiveMe原始数据【$GIVEME_DATA_PATH/raw】,由程序根据配置文件从【CSMAR原始数据】中选取、复制得到。 命名规范:库名-表名.csv - GiveMe初步处理的原始数据【$GIVEME_DATA_PATH/transfered】,包括两类数据: - 通过命令GiveMeTransfer命令将【GiveMe原始数据】处理得到的后续GiveMe Variables命令可以直接使用的数据,命名规范【库名-表名.dta】 - 多个变量共同使用且计算比较耗时的中间变量,例如个股特有收益率、真实活动盈余管理变量(REMcfo、REMprod、REMdisexp三个最终变量变量)计算所需要的基础数据 - 中间变量在生成过程中可能会使用到最终变量,制定初始化顺序时需要考虑这一点 - GiveMe处理完成的最终变量【$GIVEME_DATA_PATH/finalized】 - 数据以【变量简称_数据频率.dta】命名,例如【NCSKEW_quarterly.dta】【Size_annual.dta】 - 使用_GiveMeSave自动生成,无需手动保存 - 处理好后的可直接合并入面板的变量,例如Size、NCSKEW、DA等 - 后续GiveMe命令无需额外处理,只需直接读入对应变量即可 - GiveMe临时数据【$GIVEME_DATA_PATH/tmp】,GiveMe Variables在运行过程中产生的临时文件,即便误删也不应当影响程序正常运行 ### 数据开发流程 数据登记信息(以json文件形式存放于giveme/final_variables/): 1. 确定指标名称(例如“上下波动比例”)、变量简称(例如“DUVOL”)、所属标签(例如“股价崩盘风险”) 2. 说明数据频率(必须支持年度数据,算法设计师酌情确定是否支持季度数据) 3. 确定所需原始数据,包括中间变量,例如【财务报表-资产负债表】【超额收益】 4. 算法简述(对应论文中变量汇总表格) 5. 文字版算法详细介绍(对应论文中的变量说明) 6. 参考文献:1) 从cnki.net(中文文献)、百度学术(英文文献)获取“GB/T 7714-2015 格式引文”并去除编号; 2) 中文附上cnki.net链接,英文附上doi链接 7. 变量版本,包括开发者、代码检查、版本号(从v0.0.0开始)、开发日期 8. 数据登记信息中无法足够清楚地描述算法时,以单独文件另外存放。 计算逻辑实现(放在GiveMeFinalize.ado中) 1. 缺失值处理逻辑应当包含在Finalize过程中,也就是说之后合并到主表中仍旧缺失的是真实缺失的样本 ### TODO list - 最终变量WW中,使用当期总资产标准化(目前做法)还是使用上一期总资产标准化? - WW变量有待验证 - RPT的算法以及RPT的描述性统计需要确认,姜付秀15、20的两篇文章的算法不同,且姜付秀15、魏明海08都没有披露充分描述性统计量 - RPT算法需要明确是否需要根据币种调整 - RPT算法行业调整无法实现,姜付秀15说得太模糊