量化数据源

第 1 节 概述

一般来说,想要轻松获取高质量的量化数据,需要去一些金融数据提供商的网址注册,并且支付一定的订阅费用,然后使用他们提供的 API 来获取量化数据。

在我们接触量化交易初期,一般是不想承担这样的费用的。使用免费的数据源,先进行一定的尝试,依照效果和具体的需求,再去考虑付费的数据源,才是大多数人的想法。

摘要

本文的主要内容,就是记录本人尝试使用各种免费数据源,构建出量化数据集的过程。

1.1 老虎开放平台

老虎证券官方提供的 API,使用的前提是在老虎证券已经开户。首先需要前往官方网址进行注册,注册以后前往个人中心,会自动生成一个RSA的公钥和私钥,可以直接选择下载(如果不用老虎交易,下载模拟账户的就可以),会得到一个tiger_openapi_config.properties 文件,我们保存好这个文件。

信息

老虎证券比较好的地方在于他是使用RSA的私钥进行认证的,无需本地安装专用的客户端,就可以使用他提供的 API 获取数据,当然也可以交易,这点相对于盈透和富途是有优势的。

使用前需要安装对应 python 库

1
pip install tigeropen

官方文档有很详细说明如何使用 API,简中文档,一看就懂。API 进行一些基本使用是免费的,比如查询历史价格、股票信息等,L1、L2 的数据是需要付费的,大陆 IP 的用户可以免费使用 A 股的 L1 数据和港股的 L2 数据,富途那边也是一样,对大陆用户很友好。

老虎对请求频率有一定的限制,详见网址,对于历史数据的访问有一定的限制,详见网址

满足其中任意一项要求即可历史最大可拉取的股票/ETF K线标的数量实时行情订阅数实时深度行情订阅数
开通API权限202010
总资产 > 1万 USD
成交额 > 10万 USD
20010020
总资产 > 5万 USD
成交额 > 50万 USD
500500100
总资产 > 50万 USD
成交额 > 200万 USD
10001000200
总资产 > 100万 USD
成交额 > 500万 USD
20002000500
技巧

老虎 API 不用客户端,适合获取量化数据。

富途界面美观,适合用来看盘。

盈透佣金少,点差低,融资利率低,适合交易。

1.2 富途 API

富途官方提供的 API,使用前提是在富途已经开户。需要下载官方提供的客户端 OpenD,这种方式和盈透类似,因为香港的券商接入的是盈透的接口,所以其实也可以理解。

https://img.papergate.top:5000/i/2025/01/679501779f7d7.webp

使用前需要安装对应 python 库

1
pip install futu-api

官方文档有很详细说明如何使用 API,简中文档,同样一看就懂。大陆 IP 的用户可以免费使用 A 股的 L1 数据和港股的 L2 数据。历史数据的额度比老虎那边要大方一点。

用户类型订阅额度历史 K 线额度
开户用户100100
总资产达 1 万 HKD300300
满足任意一条:
1. 总资产达 50 万 HKD;
2. 月交易笔数 > 200;
3. 月交易额 > 200 万 HKD
10001000
满足任意一条:
1. 总资产达 500 万 HKD;
2. 月交易笔数 > 2000;
3. 月交易额 > 2000 万 HKD
20002000

1.3 yfinnance

因为使用的是公共的 API 接口,访问速率上有一定的限制,频繁访问会获取数据失败,安装方式如下,直接安装就可以用:

1
pip install yfinance

1.4 Polygon.io

相对限制比较多,很多数据都收费,返回格式也比较乱,体验一般。

官网注册一个账号,就可以获取到 API Key,然后安装 python 库,如下:

1
pip install polygon-api-client

参考文档包括官方Web Api文档使用 Python Client 的文档

1.5 Alpha Vantage

相对限制比较多,很多数据都收费,返回格式也比较乱,体验一般。

官网注册一个账号,就可以获取到 API Key

1
pip install alpha_vantage

参考文档包括官方 Web Api 文档使用 Python 的文档

第 2 节 确定股票范围

主要是一些个人的喜好和倾向,仅供参考。

  • 首先,是只考虑购买美股,不考虑场外交易的类别。

  • 然后,考虑近一个月的平均日成交股数,股数多代表流动性好,股票热门,不容易受到庄家操控。

  • 然后,考虑市值大小,市值太小很可能是毛票,更多是炒作,不适合长期投资。

2.1 查看全部股票

可以看到对应股票市场上一共有多少支股票,以及对应名称。

1
2
3
4
5
6
7
8
from tigeropen.tiger_open_config import TigerOpenClientConfig
from tigeropen.quote.quote_client import QuoteClient
from tigeropen.common.consts import Market

client_config = TigerOpenClientConfig(props_path='tiger_openapi_config.properties')
quote_client = QuoteClient(client_config)

symbols = quote_client.get_symbol_names(market=Market.US,include_otc=False)

Market 的取值可以参考下表,完整枚举见网址

标识市场
ALL全部
US美股
HK港股
CNA股
SG新加坡
AU澳大利亚
NZ新西兰

2.2 筛选股票

使用老虎选股器

按照对应条件筛选出我们需要的股票,比如市值要大于1亿美元,成交量大于1000万股。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import pandas as pd
from tigeropen.quote.domain.filter import StockFilter
from tigeropen.common.consts.filter_fields import StockField

filter1 = StockFilter(StockField.MarketValue,filter_min=100000000)
filter2 = StockFilter(StockField.Volume,filter_min=10000000)
scanner_result = quote_client.market_scanner(filters=[filter1,filter2], market=Market.US)

sr = pd.Series([item.symbol for item in scanner_result.items],name='symbol').sort_values()
sr.to_csv('stock.csv',index=False)

筛选的方式包括StockField,AccumulateField,FinancialField,MultiTagField四种:

类型说明
StockField简单指标筛选条件,包括价格(高开低收,最新价等),成交量,股本,市值,涨跌幅,市盈率,换手率等因子。 筛选字段说明
AccumulateField累积指标筛选条件,包括累积涨跌幅,资产增长率,净利润增长率,每股收益,净利润,营业利润,营业收入,ROA(净资产收益率),经营现金流,资产负债率等。累积指标周期可以是:近五分钟,近5日,10日,20日,近半年,一年,两年,五年,一季度报,三季度报,中报等等。筛选字段说明
FinancialField财务指标筛选条件,包括毛利,净利率,总负债/股东权益,总负债/总资产,流动比率,资产回报率,净利润,经营现金流,总资产,港股通净买入额,年化收益率等等。财务指标目前只支持LTM(最近12个月的年报指标)类型的财报查询。筛选字段说明
MultiTagField多标签关联关系筛选条件,基于行业,概念,历史股价新高,52周内股价新高,是否为OTC,是否支持期权,股票类型(股票,ETF),是否破发等指标来选股。筛选字段说明

使用富途选股器

富途提供了一个网页版的选股器,网址是这个,使用起来要比老虎的 API 直观许多,我们先在图形化界面选好我们需要的指标,然后使用一定的爬虫技术,就可以获取到结果了。

https://img.papergate.top:5000/i/2025/01/67960e59e3e14.webp

首先,我们在图形化界面选择好我们需要的指标,按下回车查询,会有一个名为get-screener-listPost请求,获取到params如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
params = {
    'exchanges': [],
    'plates': [],
    'values': [
        {
            'key': 'marketValue',
            'value': {
                'min': 1,
                'max': None
            }
        },
        {
            'key': 'volume-intraday-volumeCumulativeAverage',
            'value': {
                'period': 30,
                'min': 1000,
                'max': None
            }
        }
    ],
    'isWatch': False,
    'market': 2,
    'dataFrom': 0,
    'dataMaxCount': 50,
    'extendsRetrie': True,
    'sort': {
        'key': 'changeRatio',
        'order': 'desc'
    },
    'accountStatus': False
}
信息

这里的dataMaxCount默认是50,改大一点也是可以的。

然后我们参考这个网址教的爬虫方法,获取到quote-token这个参数,我已经把它写成了 python 的格式了。

1
2
3
4
5
6
7
8
9
import hashlib
import hmac
import json

def get_quote_token(params):
    t = json.dumps(params,separators=(',', ':'))
    hmac_result = hmac.new(key="quote_web".encode('utf-8'),msg=t.encode('utf-8'),digestmod=hashlib.sha512).hexdigest()
    hash_result = hashlib.sha256(hmac_result[:10].encode('utf-8')).hexdigest()[:10]
    return hash_result

然后调用这个函数,可以获取到quote-tokencsrf-token和富途账号相关,每个人不一样,并且唯一。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import requests
import pandas as pd
from utils import get_quote_token

quote_token = get_quote_token(params)
csrf_token = 'xxxxx'

headers = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
    'accept':'application/json, text/plain, */*',
    'accept-encoding':'gzip, deflate, br, zstd',
    'accept-language':'zh-CN,zh;q=0.9',
    'Content-Type':'application/json',
    'referer':'https://www.futunn.com/screener',
    'origin':'https://www.futunn.com',
    'futu-x-csrf-token':csrf_token,
    'quote-token':quote_token
}
cookies = {
    'csrfToken':csrf_token
}

url = 'https://www.futunn.com/quote-api/quote-v2/get-screener-list'
response = requests.post(url, headers=headers, json=params,cookies=cookies)

if response.status_code == 200:
    data = response.json()
    df = pd.DataFrame(data['data']['list'])
	df.to_csv('stock.csv',index=False)
else:
    print(f"请求失败: {response.text}")

第 3 节 获取历史数据

3.1 获取日线数据

和使用富途选股器时相同,稍作一些修改,stockId从之前的stock.csv中获取,type为 2 代表日线数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import time
params = {
  "stockId": "xxx",
  "marketType": "2",
  "type": "2",
  "marketCode": "11",
	"instrumentType": "3",
	"subInstrumentType": "0",
	"_": str(int(time.time()))
}

写一个函数来获取 k 线数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def get_kline(stock_id):
    params = {
      "stockId": str(stock_id),
      "marketType": "2",
      "type": "2",
      "marketCode": "11",
      "instrumentType": "3",
      "subInstrumentType": "0",
      "_": str(int(time.time()))
    }
    quote_token = get_quote_token(params)
    csrf_token = 'xxxxx'
    headers = {
      'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
      'accept':'application/json, text/plain, */*',
      'accept-encoding':'gzip, deflate, br, zstd',
      'accept-language':'zh-CN,zh;q=0.9',
      'Content-Type':'application/json',
      'origin':'https://www.futunn.com',
      'futu-x-csrf-token':csrf_token,
      'quote-token':quote_token
    }
    cookies = {
      'csrfToken':csrf_token
    }
    url = 'https://www.futunn.com/quote-api/quote-v2/get-kline'
    response = requests.get(url, headers=headers, params=params,cookies=cookies)
    if response.status_code == 200:
        data = response.json()
        return data

写一个循环,来获取全部的 k 线数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import time
from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://USERNAME:PASSWORD@HOST:PORT/DATABASE')

for idx,row in stock.iterrows():
    stock_id = row['stockId']
    stock_code = row['stockCode']
    print(f'{idx+1}/{len(stock)} {stock_code}')
    data = get_kline(stock_id)
    df = pd.DataFrame(data['data']['list'])
    df = df.drop('lc',axis=1)
    df['k'] = pd.to_datetime(df['k'],unit='s').dt.tz_localize('UTC').dt.tz_convert('US/Eastern')
    df['r'] = df['r']*100
    df['symbol'] = stock_code
    df.columns=['datetime','open','close','high','low','volumn','turnover','turnover_rate','close_price_diff','symbol']
    begin = datetime.strftime(datetime.now()-timedelta(days=365*2),'%Y-%m-%d %H:%M:%S')
    result = df[df['datetime']>begin]
    result.to_sql('DailyStock', con=engine, if_exists='append', index=False)
    time.sleep(5)

3.2 获取财报数据

财报数据每个季度会出一次,同样从富途网页获取。财报的url有两个,一个是公共接口,一个是查询接口,因为查询接口的可定制性更高,可以获取更长时间的财报数据,我们使用查询接口来获取:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from datetime import datetime

params = {
    'fetchType': '2',
    'code': 'xxxxx',
    'market': 'US',
    'quarter': '8',
    'date': datetime.strftime(datetime.now(),'%Y-%m-%d'),
    'flag': '0',
    'size': '12',
    '_':str(int(time.time()))
}

写一个函数来获取财报数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def get_report(symbol,fetchType):
    params = {
    'fetchType': str(fetchType),
    'code': symbol,
    'market': 'US',
    'quarter': '8',
    'date': datetime.strftime(datetime.now(),'%Y-%m-%d'),
    'flag': '0',
    'size': '12',
    '_':str(int(time.time()))
    }
    quote_token = get_quote_token(params)
    csrf_token = 'xxxxx'
    headers = {
        'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
        'accept':'application/json, text/plain, */*',
        'accept-encoding':'gzip, deflate, br, zstd',
        'accept-language':'zh-CN,zh;q=0.9',
        'Content-Type':'application/json',
        'origin':'https://www.futunn.com',
        'futu-x-csrf-token':csrf_token,
        'quote-token':quote_token
    }
    cookies = {
        'csrfToken':csrf_token
    }
    url = 'https://www.futunn.com/quote-api/quote-v2/get-reports-data'

    response = requests.get(url, headers=headers, params=params,cookies=cookies)
    
    if response.status_code == 200:
        data = response.json()
        return data

写一个循环,来获取全部的财报数据:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import time
from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://USERNAME:PASSWORD@HOST:PORT/DATABASE')


for idx,row in stock.iterrows():
    stock_code = row['stockCode']
    print(f'{idx+1}/{len(stock)} {stock_code}')
    data = get_report(stock_code,2)
    df = pd.DataFrame([[row['raw_value'] for row in item ] for item in data['data']['list']['values']],columns=data['data']['list']['keys'])
    df['symbol'] = stock_code
    columns = ['symbol','PeriodEndingDate','TotalRevenue','OperatingRevenue','GrossProfit',
           'NetIncome','NetIncomeCommonStockholders','BasicEPS','DilutedEPS',
           'OperatingIncome','InterestIncome','InterestExpense','TotalExpenses',
           'OperatingExpense','ResearchAndDevelopment','DepreciationAmortizationDepletion',
           'ProvisionForDoubtfulAccounts','PretaxIncome','NetPremiumsWritten','NetRealizedGainLossOnInvestments',
           'TaxProvision','MinorityInterests','SpecialIncomeCharges','CumulativeEffectOfAccountingChange',
           'NetIncomeFromTaxLossCarryforward','DividendPerShare','TotalPremiumsEarned','NetInvestmentIncome']
    result = df[columns].copy()
    result['PeriodEndingDate'] = pd.to_datetime(result['PeriodEndingDate'],unit='s').dt.tz_localize('UTC').dt.tz_convert('US/Eastern')
    begin = datetime.strftime(datetime.now()-timedelta(days=365*2),'%Y-%m-%d')
    result = result[0:(result['PeriodEndingDate']>begin).sum()+1].copy()
    result.to_sql('StockReport', con=engine, if_exists='append', index=False)
    time.sleep(5)
信息

财报的指标有很多个,我问过GPT了,这几个指标比较重要。

变量名中文含义
symbol股票代码
PeriodEndingDate财报期结束日期
TotalRevenue总收入
OperatingRevenue营业收入
GrossProfit毛利
GrossProfitMargin毛利率
NetIncome净利润
NetIncomeCommonStockholders普通股股东的净利润
BasicEPS基本每股收益
DilutedEPS稀释每股收益
OperatingIncome营业收入(经营性收入)
InterestIncome利息收入
InterestExpense利息支出
TotalExpenses总费用
OperatingExpense营业费用
ResearchAndDevelopment研发费用
DepreciationAmortizationDepletion折旧、摊销和耗竭费用
ProvisionForDoubtfulAccounts坏账准备
PretaxIncome税前利润
NetPremiumsWritten已承保保费净额
NetRealizedGainLossOnInvestments投资的已实现盈亏
TaxProvision税收准备金
MinorityInterests少数股东权益
SpecialIncomeCharges特殊收入和费用
CumulativeEffectOfAccountingChange会计政策变更的累计影响
NetIncomeFromTaxLossCarryforward税收损失结转产生的净利润
DividendPerShare每股股息
TotalPremiumsEarned已赚保费总额
NetInvestmentIncome净投资收入
信息

fetchType的值可以取1、2、3、4对应财报的4个部分,分别是财务指标、利润表、资产负债表、现金流量表,处理方式和上面相同,修改对应数字即可,至于哪些指标有用,可以问问GPT,毕竟我也不知道。

财务指标表

变量名中文含义说明
ROIC投入资本回报率衡量公司通过投资资本获得的回报,越高说明资本利用效率越好。
ROE净资产收益率衡量公司股东权益的回报率,反映股东投资的盈利能力。
ROA总资产收益率衡量公司资产利用效率,越高表明公司资产利用越有效。
GrossMargin毛利率衡量公司销售收入中扣除销售成本后的盈利能力,越高表示盈利能力越强。
OperatingMargin营业利润率衡量公司主营业务的盈利能力,不包括非经常性收入和费用。
NetMargin净利润率衡量公司每单位销售收入带来的净利润,反映公司整体盈利能力。
EBITDAMargin息税折旧摊销前利润率衡量公司运营效率,忽略融资和投资活动带来的影响。
FCFSalesRatio自由现金流销售比率衡量每单位销售收入对应的自由现金流,反映公司的现金流状况。
FCFNetIncomeRatio自由现金流净利润比率衡量公司净利润中有多少能够转化为自由现金流,反映现金生成能力。
CapitalExpenditureSalesRatio资本支出销售比率衡量公司每单位销售收入用于资本支出的比例,反映资本投入情况。
InterestCoverage利息覆盖率衡量公司偿还利息的能力,越高表明公司越容易承担债务。
DebtEquityRatio债务股权比率衡量公司资本结构中债务和股东权益的比例,过高表明风险较大。
FinancialLeverage财务杠杆衡量公司通过债务融资的程度,杠杆越高可能意味着风险越大。
TotalDebtToEquity总债务对股权比率衡量公司总债务与股东权益的比率,较高表明公司风险较大。
CurrentRatio流动比率衡量公司短期偿债能力,越高表示公司短期偿债能力越强。
QuickRatio速动比率剔除存货后的流动比率,衡量更为严格的短期偿债能力。
Revenue3YearGrowth3年收入增长率衡量公司过去三年收入的复合增长率,反映公司业务扩展能力。
NetIncome3YearGrowth3年净利润增长率衡量公司过去三年净利润的复合增长率,反映盈利能力增长。
FCF1YearGrowth1年自由现金流增长率衡量公司自由现金流的年增长率,反映现金流状况的变化。
FCF3YearGrowth3年自由现金流增长率衡量公司过去三年自由现金流的复合增长率,反映公司财务健康。
Dividend3YearGrowth3年股息增长率衡量公司股息的年增长率,反映股东回报的增长情况。
ResearchAndDevelopmentRate研发费用占比衡量公司销售收入中投入研发的比例,反映创新能力。
SellingAndMarketingExpenseRate销售和营销费用占比衡量公司销售和营销活动支出的比例,反映市场拓展能力。
GeneralAndAdministrativeExpenseRate行政费用占比衡量公司行政管理支出的比例,反映公司的管理效率。
  • 盈利能力:如 ROICROENetMarginEBITDAMargin 等指标反映了公司的整体盈利能力和管理效率,是量化交易中常用的评估公司表现的关键指标。
  • 现金流指标FCFSalesRatioFCFNetIncomeRatioFCF1YearGrowth 等与自由现金流相关的指标,直接影响公司的资本运营和分红能力,对于量化策略尤为重要。
  • 负债和财务杠杆:如 DebtEquityRatioInterestCoverageFinancialLeverage 等,帮助衡量公司的财务风险和负债水平。
  • 增长率:如 Revenue3YearGrowthNetIncome3YearGrowth 等,帮助评估公司的长期增长潜力,是量化模型中的重要因子。
  • 运营效率:如 GrossMarginOperatingMarginReceivableTurnover 等,评估公司的运营效率,能够帮助识别潜在的市场机会。

利润表

变量名中文含义说明
TotalRevenue总收入公司在一定期间内的所有收入,反映公司整体的营收规模。
GrossProfit毛利润公司总收入减去销售成本后的盈利,反映公司基本盈利能力。
OperatingIncome营业利润公司从主营业务活动中获得的利润,不包括非经常性收入和费用。
NetIncome净利润公司扣除所有成本、费用、税费后的最终利润,反映公司的整体盈利能力。
OperatingRevenue营业收入与营业活动相关的收入,通常与产品销售或服务提供有关。
BasicEPS基本每股收益每股盈利,用公司净利润除以流通在外的普通股数量。
DilutedEPS稀释每股收益稀释后的每股盈利,考虑到潜在的股份增加。
InterestIncomeFromLoansAndLease贷款和租赁利息收入公司通过贷款和租赁活动获得的利息收入,反映公司的金融收入。
InterestIncomeFromSecurities证券利息收入公司通过投资证券获得的利息收入,反映投资回报情况。
TotalExpenses总支出公司在一定期间内的所有支出,反映了公司的运营成本。
ResearchAndDevelopment研发费用公司在研发方面的支出,反映公司对创新和技术进步的投入。
DepreciationAmortizationDepletion折旧摊销消耗资产折旧、摊销和消耗的总额,反映固定资产的磨损情况。
ProvisionForDoubtfulAccounts坏账准备公司为应对可能的坏账风险而预提的准备金,反映风险管理能力。
PretaxIncome税前利润公司在缴税前的利润,衡量公司经营活动的盈利能力。
TaxProvision税收准备为未来税务负担所做的预提,反映公司税务规划的合理性。
NetIncomeCommonStockholders普通股股东净利润归属于普通股股东的净利润,反映股东的最终回报。
DividendPerShare每股分红每股分配的股息,反映股东回报的水平。
NetInvestmentIncome投资净收入公司从投资活动中获得的净收入,反映了资本运作的效果。
OperatingExpense营业费用公司日常运营中发生的各类费用,通常不包括融资和投资相关费用。
InterestExpense利息支出公司为借款支付的利息费用,反映公司的负债成本。
OtherNonInterestIncome其他非利息收入公司除利息外的其他收入,通常包括手续费、投资收入等。
OtherNonInterestExpense其他非利息费用公司除利息外的其他支出,通常包括手续费、杂项支出等。
LossAdjustmentExpense损失调整费用主要用于保险业,指调整已发生的损失的费用。
SellingAndMarketingExpense销售和营销费用公司在市场营销和销售方面的支出,反映市场拓展的投入。
GeneralAndAdministrativeExpense行政和管理费用公司在日常运营中发生的管理和行政费用,反映管理效率。
OperatingIncome营业收入与主营业务相关的收入,常用于评估公司的核心经营能力。
EarningsFromEquityInterest来自股权投资的收益公司通过股权投资获得的收益,反映投资回报。
ImpairmentOfCapitalAssets固定资产减值公司因资产价值下跌而进行的减值计提,反映资产健康状况。
GainOnSaleOfBusiness出售业务所得收益公司出售业务单元或资产时获得的净收益,通常用于评估资产处置效果。
GainOnSaleOfPPE固定资产销售收益公司出售固定资产时获得的净收益,反映资产处置收益。
InterestIncomeNonOperating非营业利息收入公司除主营业务外获得的利息收入,通常来自投资或借贷。
InterestExpenseNonOperating非营业利息支出公司除主营业务外的利息支出,通常来自非经营性负债。
TradingGainLoss交易盈亏通过金融工具交易所获得的净收益或损失,反映公司交易活动的波动性。
NetInterestIncome净利息收入公司通过利息收入减去利息支出后的净额,反映公司借贷活动的盈利情况。
  • 盈利能力TotalRevenueGrossProfitOperatingIncomeNetIncome 等指标帮助衡量公司的盈利状况,是量化模型中的关键因子。
  • 现金流和债务InterestIncomeFromLoansAndLeaseInterestExpenseNetInvestmentIncome 等反映了公司现金流和资本运作的情况。
  • 支出与费用SellingAndMarketingExpenseGeneralAndAdministrativeExpenseResearchAndDevelopment 等指标可以用来衡量公司成本控制和创新投入。
  • 风险与减值ProvisionForDoubtfulAccountsImpairmentOfCapitalAssetsLossAdjustmentExpense 等反映公司应对风险的能力。
  • 其他非经营性收入和支出OtherNonInterestIncomeOtherNonInterestExpenseGainOnSaleOfPPE 等,帮助理解公司非经营性收入和支出的影响,常用于评估公司财务健康状况。

资产负债表

变量名中文含义说明
TotalAssets总资产公司拥有的所有资产的总和,反映公司的资产规模。
CurrentAssets流动资产公司在一年内或一个营业周期内预计可以转换为现金的资产,衡量流动性。
CashAndCashEquivalents现金及现金等价物公司最流动的资产,包括现金和短期投资,反映公司短期偿债能力。
Receivables应收账款公司因销售商品或提供服务而尚未收到的款项,反映公司的客户付款能力。
Inventory存货公司持有的用于销售或生产的物品,反映公司经营活动的流动性。
Payables应付账款公司因采购商品或服务而尚未支付的款项,反映公司的应付债务水平。
CurrentLiabilities流动负债公司在一年内到期或需要支付的所有负债,衡量公司的短期偿债压力。
LongTermDebtAndCapitalLeaseObligation长期债务及资本租赁义务公司需偿还的长期债务及租赁义务,反映公司的长期负债结构。
TotalLiabilities总负债公司所有的债务和义务的总和,反映公司的负债规模。
StockholdersEquity股东权益公司股东的净资产,等于总资产减去总负债,反映公司的净值。
RetainedEarnings留存收益公司留存的未分配利润,反映公司过去盈利的积累。
GoodwillAndOtherIntangibleAssets商誉和其他无形资产公司收购其他公司时产生的超额支付及其他无形资产,反映公司的非物质资产。
TotalInvestments总投资公司所有的投资资产总和,反映公司对资本市场的参与和投资活动。
NetLoan净贷款公司发放贷款后的余额,反映公司与借款人之间的关系及资产负债。
TotalEquity总权益公司所有股东权益的总和,衡量公司的资本结构和偿债能力。
DebtEquityRatio债务股本比率公司的总负债与股东权益的比率,反映公司的杠杆水平。
FinancialLeverage财务杠杆反映公司使用债务融资的程度,高杠杆可能带来高风险。
CapitalStock股本公司发行的普通股或优先股的总额,反映公司的资本结构。
AccumulatedDepreciation累计折旧公司所有固定资产的折旧总额,反映固定资产的使用和减值。
MinorityInterest少数股东权益持有公司股份少于50%的股东所拥有的权益,通常适用于子公司。
TreasuryStock库存股公司回购的自身股票,反映公司的资本运作。
DeferredCosts递延成本延迟确认的费用,通常是与未来收入相关的支出,反映公司资产负担。
NetIncome净利润公司在一定期间的盈利能力,扣除所有费用后的最终利润。
OperatingIncome营业利润公司主营业务产生的利润,排除非经营性项目,反映核心经营绩效。
OperatingRevenue营业收入公司主要业务的收入,通常与产品销售或服务提供相关。
InterestIncome利息收入公司从存款、贷款等金融活动中获得的收入,反映公司资金的回报。
InterestExpense利息支出公司为借款支付的利息,反映公司负债的成本。
NetPremiumsWritten净保费收入保险公司书写的保费收入减去退保部分,反映保险业务的扩展性。
OtherNonCurrentAssets其他非流动资产非流动资产部分,包括固定资产、长期投资等,反映公司长期资产的分布。
EquityInvestments股权投资公司所持有的其他公司股权的投资,反映公司的长期战略投资。
FixedMaturityInvestments固定收益投资公司的债券或其他固定收益证券投资,反映公司资本市场的配置。
CurrentDebt流动负债公司到期需偿还的短期债务,反映公司短期偿债压力。
LongTermDebt长期债务公司到期需偿还的长期债务,反映公司的长期财务稳定性。
CashCashEquivalentsAndShortTermInvestments现金、现金等价物和短期投资公司的现金及短期投资总和,反映公司可用于短期债务的流动性。
SecuritiesAndInvestments证券和投资公司的投资组合,反映公司的资本市场参与度。
AccountsPayable应付账款公司需支付的货款或服务费用,反映公司的支付能力和负债水平。
AccountsReceivable应收账款公司因销售商品或提供服务而应收的款项,反映公司资金流动情况。
LiabilitiesOfDiscontinuedOperations停业业务负债公司停止运营的业务产生的负债,反映公司的业务调整和重组。
TotalLiabilities总负债公司所有的债务,反映公司整体的财务风险。
  • 资产负债状况TotalAssetsCurrentAssetsTotalLiabilitiesTotalEquity 等反映公司财务结构的稳定性、资产规模及负债水平,对于分析公司的偿债能力、资本结构等至关重要。
  • 收入与费用OperatingRevenueOperatingIncomeNetIncomeInterestIncomeInterestExpense 等指标帮助了解公司的盈利来源与成本,尤其对评估公司的基本面具有重要作用。
  • 投资与资本结构EquityInvestmentsFixedMaturityInvestmentsDebtEquityRatio 等反映公司资本运作的风险与回报。
  • 现金流与流动性CashAndCashEquivalentsReceivablesPayablesCurrentLiabilities 等与现金流和公司短期偿债能力相关,尤其对量化策略中的资金管理和风险控制至关重要。

现金流量表

变量名中文含义说明
OperatingCashFlow营业现金流公司在日常运营过程中产生的现金流量,反映公司经营的现金创造能力。
InvestingCashFlow投资现金流公司投资活动产生的现金流,包含资本支出、收购及出售资产等,反映公司投资活动的资金流动。
FinancingCashFlow融资现金流公司融资活动产生的现金流,包含债务发行、股权融资及分红等,反映公司的融资和偿债活动。
FreeCashFlow自由现金流公司经营产生的现金流减去资本支出后的现金流,反映公司可用来还债、分红或再投资的资金。
ChangeInWorkingCapital营运资本变动公司在经营过程中流动资产和负债的变化,反映了公司的资金需求与流动性状况。
CashFlowFromContinuingOperatingActivities持续经营活动的现金流公司在持续经营活动中的现金流,扣除非经常性项目,反映公司的正常运营现金流。
CashFlowFromContinuingInvestingActivities持续投资活动的现金流公司持续投资活动产生的现金流,反映公司投资决策的现金流向。
CashFlowFromContinuingFinancingActivities持续融资活动的现金流公司持续融资活动产生的现金流,反映公司资本结构的变动及融资需求。
PaymentsforPremiumsandClaimsAnnuitiesandOtherPolicyBenefits支付的保费、赔偿、年金及其他政策福利保险公司支付的相关费用,反映保险公司的理赔支出情况。
PaymentstoSuppliersforGoodsandServices支付给供应商的款项公司购买商品和服务时支付给供应商的款项,反映公司日常运营的现金支出。
InterestPaidDirect支付的利息公司支付的现金利息,反映公司的债务成本。
TaxesRefundPaidDirect退还的税款公司退还的税款,反映公司税务处理的现金流动。
NetCommonStockIssuance普通股发行净额公司通过发行普通股筹集的资金,反映公司的股本扩张情况。
NetIssuancePaymentsOfDebt债务发行支付净额公司通过债务融资的资金流入,反映公司的融资行为及负债增加。
NetLongTermDebtIssuance长期债务发行净额公司发行长期债务所获得的资金,反映公司长期资本结构的变化。
DividendsPaidDirect支付的股息公司支付给股东的现金股息,反映公司分红政策和现金分配情况。
BeginningCashPosition期初现金余额公司报告期开始时的现金和现金等价物余额,反映公司资金的初始状态。
EndCashPosition期末现金余额公司报告期结束时的现金和现金等价物余额,反映公司期末的资金状况。
ChangesInCash现金变动公司现金和现金等价物的变化量,反映公司在报告期内的现金流动情况。
EffectOfExchangeRateChanges汇率变化的影响汇率变动对公司现金流的影响,尤其是跨国公司中外币波动的影响。
DividendsReceivedDirect直接收到的股息公司从其投资中获得的股息收入,反映投资收益的现金流入。
DividendsPaidDirect直接支付的股息公司支付的现金股息,反映公司的股东回报和资金分配策略。
ReceiptsfromCustomers从客户收取的款项公司因销售商品或提供服务所收到的款项,反映公司的收入转化为现金的能力。
ReceiptsfromGovernmentGrants政府补贴收到的款项公司收到的政府补贴或资助,反映公司通过政府援助获得的资金支持。
OtherCashReceiptsfromOperatingActivities来自经营活动的其他现金收入公司从其经营活动中收到的其他现金流入,反映非主营业务的现金收入。
CashFromDiscontinuedOperatingActivities停业经营活动的现金流公司停止运营的业务所产生的现金流,反映公司出售或退出的经营活动的资金流。
PaymentsonBehalfofEmployees代表员工支付的款项公司支付给员工的工资、福利等费用,反映公司在人力资源上的现金支出。
PaymentforInvestment投资支付公司进行投资时支付的资金,反映投资活动的现金流出。
SaleOfInvestment投资出售公司出售投资资产所获得的现金流入,反映资产处置的现金收入。
ProceedsFromStockOptionExercised股票期权行权所获得的资金公司股票期权被行使时获得的现金,反映股权激励的现金流入。
  • 经营现金流OperatingCashFlowReceiptsfromCustomersPaymentsforPremiumsandClaimsAnnuitiesandOtherPolicyBenefits 等直接反映公司日常运营过程中现金的流入和流出。量化交易中,健康的经营现金流通常意味着公司的日常运作能够持续支持其发展。

  • 投资现金流InvestingCashFlowNetInvestmentPurchaseAndSaleSaleOfInvestment 等反映公司对外投资、资本支出的现金流动。量化分析中,投资现金流帮助评估公司的投资战略和资本配置。

  • 融资现金流FinancingCashFlowNetCommonStockIssuanceNetIssuancePaymentsOfDebt 等反映公司通过发行股本、债务等方式进行融资的现金流入与流出,反映公司的资本结构和融资需求。

  • 自由现金流FreeCashFlow 是量化分析中重要的核心财务指标,表示公司在资本支出后的可用现金,衡量公司实际可以用于还债、回报股东或再投资的资金。

  • 现金流变动ChangesInCashEffectOfExchangeRateChanges 等反映公司现金余额的变化,帮助量化分析师评估公司在不同运营和外部环境下的资金流动性。