楼主: kedemingshi
340 19

[量化金融] 开源基础行业分类 [推广有奖]

11
mingdashike22 在职认证  发表于 2022-6-13 23:00:14
股票是匹配的,对于incl.otc=T,也包括场外(otc)股票。sec的输入文件。sic()是:i)NQ\\U美国运通。csv,NQ\\U NYSE。csv,NQ\\U纳斯达克。csv(这些文件可通过wget实用程序(见附录C.1)每天从www.nasdaq.com下载);NT\\u其他列表。txt,NT\\u nasdaqlisted。txt(这些文件可通过wget实用程序从www.nasdaqtrader.com下载,如附录C.1);和iii)如果我们希望包括otc,即如果包括otc=T,则也包括otc标签。csv(此文件可以从http://www.otcmarkets.com/reports/symbol_info.csv).  请注意,源代码很容易修改,以适应其他股票行情列表源。函数秒。sic()通过将SEC数据中的公司名称与股票代码列表中的公司名称进行匹配,将上述文件中的股票代码与sic代码进行匹配。不言而喻,在某些情况下,匹配是无法合理实现的。这里有两大类。首先,SEC数据可能没有分配给给定公司的SIC代码,或者SEC使用的公司名称可能不同于股票列表中的公司名称,因此不匹配(例如ETRADE v.e*TRADE)。其次,可能会有不止一个匹配(在去除公司名称中的各种外部属性后,这些属性会使水域变得浑浊,例如,公司诉公司)。表1给出了事件的统计信息,其中还提供了TotalTicker的数量,以及没有SIC代码的股票代码中有多少对应于基金、信托、ETF等难以分类的车辆,代码试图使用启发式方法检测这些车辆。总的来说,股票匹配(特别是如果我们排除基金等)产生了合理的覆盖率。函数秒。sic()输出3个文件。

12
能者818 在职认证  发表于 2022-6-13 23:00:17
文件标记器。原文如此。txt包含SIC代码匹配的ticker:第一列=ticker;第二列=交易所(A=美国运通,N=纽约证券交易所,Q=纳斯达克,其他与OTC相关);第三列=SIC代码;第四列=行业名称(如SEC数据所示–见上文);第五列=市值(仅适用于上述三个www.nasdaq.com文件中提供的上市股票)。文件编号。原文如此。txt包含SIC代码不匹配的ticker:第一列=ticker;第二列=交换(见上文);第三列=市值(见上文);第四列=真(假),如果股票代码是(非)基金等。;第五列=如果没有匹配项(多个匹配项),则为TRUE(FALSE)。文件SIC。工业级。txt包含二进制行业分类。可通过使用NT\\U otherlisted中的ETF字段进行改进。txt和NT\\u nasdaqlisted。txt。2.4. 一些stats函数秒。全部的末尾的sic()调用函数sec。sic()。在执行此操作之前,soit输出一个日志文件,记录开始和结束时间,以测量下载SEC数据所需的时间。表2中报告了此类测量结果。下载所有SIC代码0100-9999大约需要30分钟,同时下载仅限于SIC的SIC代码。代码。txt文件大约需要5分钟。股票匹配速度很快(在四核3.1 GHzCPU机器上)。最后,让我们提到一些二进制行业分类文件的统计数据。工业级。txt。2017年4月14日,对于4734个带有SIC代码的股票,有392个行业的股票计数如下:最小值=1,第一个四分位数=2,中位数=5,平均值=12.08,第三个四分位数=10,最大值=376。一、 例如,有许多小型(有1个或2个报价器)行业。3.

13
mingdashike22 在职认证  发表于 2022-6-13 23:00:22
因此,我们可以下载SEC数据,并根据SIC代码建立行业分类。该行业分类与其他行业分类相比如何?【Hrazdil等人,2014年】对GIC、NAICS和SIC进行了一般比较(粒度等)。【Chan等人,2007年】对行业分类如何解释长期内股票回报的共同运动进行了比较,结果发现GIC——毫不奇怪——优于Fama French【1997】的48个“行业”(FF48)行业分类,后者基于SIC。然而,FF48与SIC不同,它将带有多个SIC代码的股票代码聚合到这48个“行业”中。一、 例如,FF48在各自的最大粒度水平上比GIC、BIC和SIC的粒度小得多。在这里,我们比较了短期内的GIC、BIC、SIC、FF48和FF49(这是FF48的另一个变体–见下文)。然而,在这里,我们将比较带到另一个层面——我们不是着眼于股票回报的协同运动,而是着眼于使用其他相同风险模型计算的短期均值回归交易信号(Alpha)的表现,这些风险模型用于定义行业风险因素的行业分类除外。我们使用的风险模型是【Kakushadze,2015b】的开源异质风险模型。Heteroticrisk模型没有使用任何风格因素,因此我们的赛马会比较了潜在的行业分类,而没有将其与其他无关因素混淆。

14
何人来此 在职认证  发表于 2022-6-13 23:00:25
据我们所知,这是出版文献中首次出现的行业分类比较。本节其余部分紧随【Kakushadze,2015b】第6节的大部分内容。简言之,股票的异质风险模型结合在一起:i)行业分类的粒度;ii)任何股票子宇宙的主成分因子协方差矩阵的对角性;以及iii)俄罗斯玩偶风险模型构建中因子协方差矩阵大小的大幅减少【Kakushadze,2015c】。因此在异质风险模型中,我们在这里“重复”它不是为了重复,而是为了使我们在这里的陈述是独立的。构造,使用(为了明确)BICS命名法根据BICS子行业将股票领域划分为多个子集,计算这些子集的回报样本相关矩阵的第一主成分,并使用这些第一主成分作为权重计算相应的因子回报。通常,对于短回望,因子返回样本协方差矩阵是奇异的。然后,根据BICS行业将这些因素进一步分解为子集,计算这些子集的回报样本相关性矩阵的第一主成分,并使用这些第一主成分作为权重来计算相应的因素回报。重复这种嵌套嵌入(俄罗斯玩偶结构)(例如,通过从BICSindustries到BICS部门再到“广阔市场”,根据需要定义越来越少的风险因素),直到合成因子回报的数量足够小,从而相应的因子协方差矩阵是非奇异且足够稳定的。这证明了构建样本外稳定的短期回溯股票风险模型的有效方法。3.1.

15
nandehutu2022 在职认证  发表于 2022-6-13 23:00:29
注释SLET是股票价格的时间序列,其中  标记库存,以及标记交易日期,带有 对应于时间序列中的最近日期。上标 和 (未调整的开盘价和收盘价)以及 和 (对分割和股息进行充分调整的开盘价和收盘价)将区分相应的价格,例如。,是未调整的收盘价。是未调整的日交易量(以股份为单位)。此外,对于每个日期 我们将隔夜回报定义为之前的收盘至开盘回报:该回报将用于平均反向PHA中预期回报的定义。我们还需要近距离回归这些收益的样本外(见下文)时间序列将用于构建风险模型。请注意,退货定义中的所有价格和完全调整。我们假设:i)投资组合是在开放时建立的,以开放价格填充;ii)在当天收盘时进行清算,因此这是一个纯粹的日内alpha,在收盘价时进行填充; iii)没有交易成本或延误-我们的目标不是这是所谓的“延迟0”α:相同的价格,(或调整), 用于计算预期回报(通过) 并作为确定填充价格。建立一个现实的交易策略,但要测试各种行业分类的相对绩效。每种股票的损益在这里是美元持有量。每天每支股票的买入加卖出股份(建立加清算等级)通过以下方式计算:.3.2.

16
kedemingshi 在职认证  发表于 2022-6-13 23:00:32
宇宙选择为了简单起见,我们根据通过(注意每个日期都不在样本范围内):我们采取 (即一个月),然后通过ADDV将我们的宇宙列为前2000名。为了确保我们不会无意中引入宇宙选择偏差,werebalance每月(准确地说,每21个交易日一次)。一、 例如,我们将5年的回溯测试周期(见下文)划分为21天的间隔,我们使用ADDV计算宇宙(反过来,ADDV是根据该间隔之前的21天计算的),并在整个间隔期间使用该宇宙。我们确实存在生存偏差,因为我们获取了截至2014年9月6日的所有股票报价人的数据,这些股票都有历史定价数据来源fromhttp://finance.yahoo.com(2014年9月6日访问)2008年8月1日至2014年9月5日。我们限制该范围仅包括截至2014年9月8日具有GIC、BIC和SIC行业转让的美国上市普通股和类别股(无OTC、优先股等)。然而,正如【Kakushadze,2015a】第7节中详细讨论的那样,生存偏差并不是此类回溯测试的主要影响因素。3.3. BacktestingWe在5年的时间内运行我们的模拟(更准确地说,从2014年9月5日算起的1260个交易日)。

17
kedemingshi 在职认证  发表于 2022-6-13 23:00:35
年化资本回报率(ROC)是根据实际情况计算的,交易范围是根据市值、流动性(ADDV)、价格和其他标准选择的。ZK感谢Jim Liew于2014年9月8日分享GICS数据。回溯测试窗口的选择基于哪些数据是现成可用的。此外,这里我们关注的是相对的跑赢大市,可以合理地假设,对于领先顺序,个人表现受到生存偏差的影响大致相同,因为所有Alpha和风险模型(见下文)的构建都是“统计”的,并且不受交易范围的影响。日均损益除以日内投资水平 (无杠杆)并乘以252。年化夏普比率(SR)计算为每日夏普比率乘以.  每股美分(CPS)的计算方法是以美分(非美元)为单位的总损益除以总交易股份。3.4. 优化的Alpha优化的Alpha基于预期回报根据我们正在测试的行业分类,即GIC、BIC、SIC、FF48(参见[French,2017a]了解其定义)和FF49(参见[French,2017b]了解其定义),使用异质风险模型优化viaSharpe比率最大化(Kakushadze,2015b)中定义。FF48和FF49的构造只有一个级别。GIC、BIC和SIC有多个级别。我们在各自最细粒度的层面上对这些行业进行分类(GIC和BIC称为子行业,SIC称为行业–见上文)。然后运行R函数qrm。[Kakushadze,2015b]附录B中的het(),输入如下:ret是回报矩阵定义见等式。

18
nandehutu2022 在职认证  发表于 2022-6-13 23:00:38
(2); ind是二进制 行业分类矩阵(如果相应的股票代码属于相应的行业,则每个元素等于1,否则为0–对于SIC,该矩阵位于我们上面讨论的文件SIC.IND.CLASS.txt中);市场。fac=T(这增加了“市场”因素,因此我们实际上有一个两级行业分类,风险因素方差矩阵是可逆的——详情参见【Kakushadze,2015b】);和rm。唱tkr=F(默认值)。正如【Kakushadze,2015b】中所述,我们计算了杂种优势风险模型协方差矩阵每21个交易日(与宇宙相同)。对于每个日期(我们省略索引)我们根据美元中性约束和头寸界限最大化夏普比率:在这种情况下,这与交易边界相同,因为该策略纯粹是盘中策略。在这里是式(4)中定义的ADDV。等式(6)是美元中性约束。等式(7)规定了上述交易界限。等式(8)确保投资组合具有投资水平. 在边界计算存在的情况下需要一个迭代过程,我们使用[Kakushadze,2015b]附录C中的代码(其中还包含详细文档)。3.5. 仿真结果表3(也见图1)总结了仿真结果。GICS子行业的表现略优于BICS子行业,而BICS子行业的表现优于SIC行业。FF48和FF49表现不佳的行业——仅仅是因为粒度较小。

19
nandehutu2022 在职认证  发表于 2022-6-13 23:00:41
为了便于比较,表3中还包括BICS的模拟结果,其中我们将BICS子行业替换为BICS行业和BICS部门。通常,降低粒度会导致此类回溯测试的性能不佳。4、结论据我们所知,我们在这里介绍的短期行业分类比较——尤其是使用实际交易信号(相对于收益的共同运动)——是出版文献中的第一种。GICS仍然是一个安全的选择。不幸的是,BICSis不再得到彭博社的支持。此外,SIC并不是一场“灾难”,现在我们已经为其提供了开源代码,可以广泛应用于初步研究等领域。最后,让我们评论一下(构建良好的)行业分类本质上是稳定的(w.r.t.时间变化)。这主要是因为公司很少跳转行业(更不用说部门等粒度较小的结构)。毕竟,基本行业分类通常基于相关的基本/经济数据,如公司的产品和服务、收入来源、供应商、竞争对手、合作伙伴等。这简化了事情,包括与样本外回溯测试相关的情况。因此,如果今天获得一个股票领域的行业分类,并使用该行业分类对过去一年的同一个股票领域进行回溯测试(即,考虑到在此期间可能发生的任何股票变化等),回溯测试仍然可以被视为有效,因为在此期间股票跳跃行业的可能性很小。这并不是说行业分类提供者可能没有追溯性地改变,比如说,对一些股票报价器的子行业设计。

20
可人4 在职认证  发表于 2022-6-13 23:00:44
然而,这种“同一性”可以出现在虚拟的第三方数据中,除非最终用户在每个历史日收集到它。致谢我们要感谢匿名评论者提出的宝贵建议,这些建议改进了手稿。BICS子行业的结果不同于【Kakushadze,2015b】,因为宇宙是不同的。在【Kakushadze,2015b】中,宇宙仅基于BIC。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-22 15:34