# 量化数据源

## 概述

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

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

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

### 老虎开放平台

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

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

使用前需要安装对应 python 库

```shell
pip install tigeropen
```

[官方文档](https://quant.itigerup.com/openapi/zh/python/overview/introduction.html)有很详细说明如何使用 API，简中文档，一看就懂。API 进行一些基本使用是免费的，比如查询历史价格、股票信息等，L1、L2 的数据是需要付费的，大陆 IP 的用户可以免费使用 A 股的 L1 数据和港股的 L2 数据，富途那边也是一样，对大陆用户很友好。

老虎对请求频率有一定的限制，详见[网址](https://quant.itigerup.com/openapi/zh/python/permission/requestLimit.html)，对于历史数据的访问有一定的限制，详见[网址](https://quant.itigerup.com/openapi/zh/python/permission/historySubscribe.html)：

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

>[!tip]  技巧
>
>老虎 API 不用客户端，适合获取量化数据。
>
>富途界面美观，适合用来看盘。
>
>盈透佣金少，点差低，融资利率低，适合交易。

### 富途 API

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

![](https://img.papergate.top:5000/i/2025/01/679501779f7d7.webp)

使用前需要安装对应 python 库

```shell
pip install futu-api
```

[官方文档](https://openapi.futunn.com/futu-api-doc/intro/intro.html)有很详细说明如何使用 API，简中文档，同样一看就懂。大陆 IP 的用户可以免费使用 A 股的 L1 数据和港股的 L2 数据。历史数据的额度比老虎那边要大方一点。

| 用户类型                                                                            | 订阅额度 | 历史 K 线额度 |
| ------------------------------------------------------------------------------- | ---- | -------- |
| 开户用户                                                                            | 100  | 100      |
| 总资产达 1 万 HKD                                                                    | 300  | 300      |
| 满足任意一条：  <br>1. 总资产达 50 万 HKD；  <br>2. 月交易笔数 > 200；  <br>3. 月交易额 > 200 万 HKD    | 1000 | 1000     |
| 满足任意一条：  <br>1. 总资产达 500 万 HKD；  <br>2. 月交易笔数 > 2000；  <br>3. 月交易额 > 2000 万 HKD | 2000 | 2000     |

### yfinnance

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

```shell
pip install yfinance
```

### Polygon.io

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

去[官网](https://polygon.io/)注册一个账号，就可以获取到 API Key，然后安装 python 库，如下：

```shell
pip install polygon-api-client
```

参考文档包括[官方Web Api文档](https://polygon.io/docs/stocks/getting-started)和[使用 Python Client 的文档](https://polygon-api-client.readthedocs.io/en/latest/)

### Alpha Vantage

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

去[官网](https://www.alphavantage.co/)注册一个账号，就可以获取到 API Key

```shell
pip install alpha_vantage
```

参考文档包括[官方 Web Api 文档](https://www.alphavantage.co/documentation/)和[使用 Python 的文档](https://alpha-vantage.readthedocs.io/en/latest/)

## 确定股票范围

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

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

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

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

### 查看全部股票

可以看到对应股票市场上一共有多少支股票，以及对应名称。
```python
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 的取值可以参考下表，完整枚举见[网址](https://quant.itigerup.com/openapi/zh/python/appendix2/overview.html)。

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

### 筛选股票

#### 使用老虎选股器

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

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

#### 使用富途选股器

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

![](https://img.papergate.top:5000/i/2025/01/67960e59e3e14.webp)

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

```python
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
}
```

>[!info]  信息
>
>这里的`dataMaxCount`默认是50，改大一点也是可以的。

然后我们参考[这个网址](https://blog.csdn.net/2401_85517453/article/details/141205148)教的爬虫方法，获取到`quote-token`这个参数，我已经把它写成了 python 的格式了。

```python
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-token`，`csrf-token`和富途账号相关，每个人不一样，并且唯一。

```python
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}")
```

## 获取历史数据

### 获取日线数据

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

```python
import time
params = {
  "stockId": "xxx",
  "marketType": "2",
  "type": "2",
  "marketCode": "11",
	"instrumentType": "3",
	"subInstrumentType": "0",
	"_": str(int(time.time()))
}
```

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

```python
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 线数据：

```python
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)
```

### 获取财报数据

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

```python
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()))
}
```

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

```python
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
```

写一个循环，来获取全部的财报数据：

```python
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)
```

>[!info]  信息
>
>财报的指标有很多个，我问过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`                | 净投资收入        |

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

#### 财务指标表

| 变量名                                   | 中文含义       | 说明                                |
| ------------------------------------- | ---------- | --------------------------------- |
| `ROIC`                                | 投入资本回报率    | 衡量公司通过投资资本获得的回报，越高说明资本利用效率越好。     |
| `ROE`                                 | 净资产收益率     | 衡量公司股东权益的回报率，反映股东投资的盈利能力。         |
| `ROA`                                 | 总资产收益率     | 衡量公司资产利用效率，越高表明公司资产利用越有效。         |
| `GrossMargin`                         | 毛利率        | 衡量公司销售收入中扣除销售成本后的盈利能力，越高表示盈利能力越强。 |
| `OperatingMargin`                     | 营业利润率      | 衡量公司主营业务的盈利能力，不包括非经常性收入和费用。       |
| `NetMargin`                           | 净利润率       | 衡量公司每单位销售收入带来的净利润，反映公司整体盈利能力。     |
| `EBITDAMargin`                        | 息税折旧摊销前利润率 | 衡量公司运营效率，忽略融资和投资活动带来的影响。          |
| `FCFSalesRatio`                       | 自由现金流销售比率  | 衡量每单位销售收入对应的自由现金流，反映公司的现金流状况。     |
| `FCFNetIncomeRatio`                   | 自由现金流净利润比率 | 衡量公司净利润中有多少能够转化为自由现金流，反映现金生成能力。   |
| `CapitalExpenditureSalesRatio`        | 资本支出销售比率   | 衡量公司每单位销售收入用于资本支出的比例，反映资本投入情况。    |
| `InterestCoverage`                    | 利息覆盖率      | 衡量公司偿还利息的能力，越高表明公司越容易承担债务。        |
| `DebtEquityRatio`                     | 债务股权比率     | 衡量公司资本结构中债务和股东权益的比例，过高表明风险较大。     |
| `FinancialLeverage`                   | 财务杠杆       | 衡量公司通过债务融资的程度，杠杆越高可能意味着风险越大。      |
| `TotalDebtToEquity`                   | 总债务对股权比率   | 衡量公司总债务与股东权益的比率，较高表明公司风险较大。       |
| `CurrentRatio`                        | 流动比率       | 衡量公司短期偿债能力，越高表示公司短期偿债能力越强。        |
| `QuickRatio`                          | 速动比率       | 剔除存货后的流动比率，衡量更为严格的短期偿债能力。         |
| `Revenue3YearGrowth`                  | 3年收入增长率    | 衡量公司过去三年收入的复合增长率，反映公司业务扩展能力。      |
| `NetIncome3YearGrowth`                | 3年净利润增长率   | 衡量公司过去三年净利润的复合增长率，反映盈利能力增长。       |
| `FCF1YearGrowth`                      | 1年自由现金流增长率 | 衡量公司自由现金流的年增长率，反映现金流状况的变化。        |
| `FCF3YearGrowth`                      | 3年自由现金流增长率 | 衡量公司过去三年自由现金流的复合增长率，反映公司财务健康。     |
| `Dividend3YearGrowth`                 | 3年股息增长率    | 衡量公司股息的年增长率，反映股东回报的增长情况。          |
| `ResearchAndDevelopmentRate`          | 研发费用占比     | 衡量公司销售收入中投入研发的比例，反映创新能力。          |
| `SellingAndMarketingExpenseRate`      | 销售和营销费用占比  | 衡量公司销售和营销活动支出的比例，反映市场拓展能力。        |
| `GeneralAndAdministrativeExpenseRate` | 行政费用占比     | 衡量公司行政管理支出的比例，反映公司的管理效率。          |

- **盈利能力**：如 `ROIC`、`ROE`、`NetMargin`、`EBITDAMargin` 等指标反映了公司的整体盈利能力和管理效率，是量化交易中常用的评估公司表现的关键指标。
- **现金流指标**：`FCFSalesRatio`、`FCFNetIncomeRatio`、`FCF1YearGrowth` 等与自由现金流相关的指标，直接影响公司的资本运营和分红能力，对于量化策略尤为重要。
- **负债和财务杠杆**：如 `DebtEquityRatio`、`InterestCoverage`、`FinancialLeverage` 等，帮助衡量公司的财务风险和负债水平。
- **增长率**：如 `Revenue3YearGrowth`、`NetIncome3YearGrowth` 等，帮助评估公司的长期增长潜力，是量化模型中的重要因子。
- **运营效率**：如 `GrossMargin`、`OperatingMargin`、`ReceivableTurnover` 等，评估公司的运营效率，能够帮助识别潜在的市场机会。

#### 利润表

| 变量名                                 | 中文含义      | 说明                                |
| ----------------------------------- | --------- | --------------------------------- |
| `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`                 | 净利息收入     | 公司通过利息收入减去利息支出后的净额，反映公司借贷活动的盈利情况。 |

- **盈利能力**：`TotalRevenue`、`GrossProfit`、`OperatingIncome`、`NetIncome` 等指标帮助衡量公司的盈利状况，是量化模型中的关键因子。
- **现金流和债务**：`InterestIncomeFromLoansAndLease`、`InterestExpense`、`NetInvestmentIncome` 等反映了公司现金流和资本运作的情况。
- **支出与费用**：`SellingAndMarketingExpense`、`GeneralAndAdministrativeExpense`、`ResearchAndDevelopment` 等指标可以用来衡量公司成本控制和创新投入。
- **风险与减值**：`ProvisionForDoubtfulAccounts`、`ImpairmentOfCapitalAssets`、`LossAdjustmentExpense` 等反映公司应对风险的能力。
- **其他非经营性收入和支出**：`OtherNonInterestIncome`、`OtherNonInterestExpense`、`GainOnSaleOfPPE` 等，帮助理解公司非经营性收入和支出的影响，常用于评估公司财务健康状况。

#### 资产负债表

| 变量名                               | 中文含义                    | 说明                                                         |
|-------------------------------------|-----------------------------|--------------------------------------------------------------|
| `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`                  | 总负债                      | 公司所有的债务，反映公司整体的财务风险。                     |

- **资产负债状况**：`TotalAssets`、`CurrentAssets`、`TotalLiabilities`、`TotalEquity` 等反映公司财务结构的稳定性、资产规模及负债水平，对于分析公司的偿债能力、资本结构等至关重要。
- **收入与费用**：`OperatingRevenue`、`OperatingIncome`、`NetIncome`、`InterestIncome`、`InterestExpense` 等指标帮助了解公司的盈利来源与成本，尤其对评估公司的基本面具有重要作用。
- **投资与资本结构**：`EquityInvestments`、`FixedMaturityInvestments`、`DebtEquityRatio` 等反映公司资本运作的风险与回报。
- **现金流与流动性**：`CashAndCashEquivalents`、`Receivables`、`Payables`、`CurrentLiabilities` 等与现金流和公司短期偿债能力相关，尤其对量化策略中的资金管理和风险控制至关重要。

#### 现金流量表

| 变量名                                                           | 中文含义               | 说明                                          |
| ------------------------------------------------------------- | ------------------ | ------------------------------------------- |
| `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`                            | 股票期权行权所获得的资金       | 公司股票期权被行使时获得的现金，反映股权激励的现金流入。                |

- **经营现金流**：`OperatingCashFlow`、`ReceiptsfromCustomers`、`PaymentsforPremiumsandClaimsAnnuitiesandOtherPolicyBenefits` 等直接反映公司日常运营过程中现金的流入和流出。量化交易中，健康的经营现金流通常意味着公司的日常运作能够持续支持其发展。
    
- **投资现金流**：`InvestingCashFlow`、`NetInvestmentPurchaseAndSale`、`SaleOfInvestment` 等反映公司对外投资、资本支出的现金流动。量化分析中，投资现金流帮助评估公司的投资战略和资本配置。
    
- **融资现金流**：`FinancingCashFlow`、`NetCommonStockIssuance`、`NetIssuancePaymentsOfDebt` 等反映公司通过发行股本、债务等方式进行融资的现金流入与流出，反映公司的资本结构和融资需求。
    
- **自由现金流**：`FreeCashFlow` 是量化分析中重要的核心财务指标，表示公司在资本支出后的可用现金，衡量公司实际可以用于还债、回报股东或再投资的资金。
    
- **现金流变动**：`ChangesInCash`、`EffectOfExchangeRateChanges` 等反映公司现金余额的变化，帮助量化分析师评估公司在不同运营和外部环境下的资金流动性。




---

> 作者: Aphros  
> URL: https://blog.papergate.top/posts/%E9%87%8F%E5%8C%96%E6%95%B0%E6%8D%AE%E6%BA%90/  

