Comprehensive Python library for financial data acquisition providing access to Chinese and global market data.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
AKShare provides comprehensive macroeconomic data with 226 functions covering economic indicators from China, United States, European Union, Japan, Australia, Canada, and the United Kingdom. This is the largest category in AKShare, reflecting the importance of macroeconomic analysis in financial markets.
import akshare as ak
def macro_china_cpi() -> pd.DataFrame:
"""
Chinese Consumer Price Index data from East Money
Returns:
pd.DataFrame: CPI data with columns:
- 时间 (Time): Date
- 全国-同比 (National YoY): National CPI year-over-year
- 全国-环比 (National MoM): National CPI month-over-month
- 城市-同比 (Urban YoY): Urban CPI year-over-year
- 农村-同比 (Rural YoY): Rural CPI year-over-year
"""
# Get national CPI data
cpi_df = ak.macro_china_cpi()
print(cpi_df.head())
# 时间 全国-同比 全国-环比 城市-同比 农村-同比
# 0 2024-11-01 102.3 100.2 102.1 102.8
# 1 2024-10-01 102.0 100.4 101.8 102.5import akshare as ak
def macro_china_gdp() -> pd.DataFrame:
"""
Chinese GDP quarterly data
Returns:
pd.DataFrame: GDP data with columns:
- 季度 (Quarter): Quarter period
- 国内生产总值-绝对值 (GDP Absolute): Absolute GDP value
- 国内生产总值-同比增长 (GDP YoY): Year-over-year growth
- 第一产业-绝对值 (Primary Industry): Primary sector GDP
- 第二产业-绝对值 (Secondary Industry): Secondary sector GDP
- 第三产业-绝对值 (Tertiary Industry): Tertiary sector GDP
"""
# Get GDP data
gdp_df = ak.macro_china_gdp()
print(gdp_df.head())
# 季度 国内生产总值-绝对值 国内生产总值-同比增长 第一产业-绝对值 第二产业-绝对值 第三产业-绝对值
# 0 2024Q3 296298.4 4.6 80480.5 117647.2 98170.7import akshare as ak
def macro_china_pmi() -> pd.DataFrame:
"""
Chinese PMI (Manufacturing and Services)
Returns:
pd.DataFrame: PMI data with columns:
- 日期 (Date): Date
- 制造业PMI (Manufacturing PMI): Manufacturing PMI value
- 服务业PMI (Services PMI): Services PMI value
- 综合PMI (Composite PMI): Composite PMI value
"""
# Get PMI data
pmi_df = ak.macro_china_pmi()
print(pmi_df.head())
# 日期 制造业PMI 服务业PMI 综合PMI
# 0 2024-11-01 50.2 51.4 51.8
# 1 2024-10-01 49.8 50.2 50.5import akshare as ak
def macro_china_money_supply() -> pd.DataFrame:
"""
Chinese money supply data (M0, M1, M2)
Returns:
pd.DataFrame: Money supply data with columns:
- 月份 (Month): Month
- 货币和准货币(M2) (M2): Broad money supply
- 货币(M1) (M1): Narrow money supply
- 流通中现金(M0) (M0): Currency in circulation
- M2同比增长 (M2 YoY): M2 year-over-year growth
- M1同比增长 (M1 YoY): M1 year-over-year growth
- M0同比增长 (M0 YoY): M0 year-over-year growth
"""
# Get money supply data
money_df = ak.macro_china_money_supply()import akshare as ak
def macro_china_trade() -> pd.DataFrame:
"""
Chinese international trade data
Returns:
pd.DataFrame: Trade statistics with columns:
- 月份 (Month): Month
- 出口金额 (Exports): Export value in USD
- 进口金额 (Imports): Import value in USD
- 贸易差额 (Trade Balance): Trade balance
- 出口同比 (Export YoY): Export year-over-year growth
- 进口同比 (Import YoY): Import year-over-year growth
"""
# Get trade data
trade_df = ak.macro_china_trade()import akshare as ak
def macro_china_industrial_production() -> pd.DataFrame:
"""
Chinese industrial production index
Returns:
pd.DataFrame: Industrial production data
"""
# Get industrial production data
industrial_df = ak.macro_china_industrial_production()import akshare as ak
def macro_china_fixed_asset_investment() -> pd.DataFrame:
"""
Chinese fixed asset investment data
Returns:
pd.DataFrame: Investment statistics by sector
"""
# Get investment data
investment_df = ak.macro_china_fixed_asset_investment()import akshare as ak
def macro_china_interest_rate() -> pd.DataFrame:
"""
Chinese central bank interest rates
Returns:
pd.DataFrame: Interest rate data including:
- 存款基准利率 (Deposit Rate)
- 贷款基准利率 (Loan Rate)
- 公开市场操作利率 (OMO Rate)
"""
# Get interest rate data
rate_df = ak.macro_china_interest_rate()import akshare as ak
def macro_china_rrr() -> pd.DataFrame:
"""
Chinese bank reserve requirement ratio
Returns:
pd.DataFrame: RRR adjustment history
"""
# Get RRR data
rrr_df = ak.macro_china_rrr()import akshare as ak
def macro_usa_non_farm() -> pd.DataFrame:
"""
US Non-farm Payroll employment data
Returns:
pd.DataFrame: Employment data with columns:
- 日期 (Date): Release date
- 非农就业人口 (Non-farm Employment): Employment change
- 失业率 (Unemployment Rate): Unemployment rate
"""
# Get non-farm payroll data
nonfarm_df = ak.macro_usa_non_farm()
print(nonfarm_df.head())
# 日期 非农就业人口 失业率
# 0 2024-11-01 12000 4.1
# 1 2024-10-04 254000 4.0import akshare as ak
def macro_usa_unemployment_rate() -> pd.DataFrame:
"""
US unemployment rate statistics
Returns:
pd.DataFrame: Unemployment data by demographics
"""
# Get detailed unemployment data
unemployment_df = ak.macro_usa_unemployment_rate()import akshare as ak
def macro_usa_gdp() -> pd.DataFrame:
"""
US GDP quarterly data
Returns:
pd.DataFrame: GDP data with columns:
- 日期 (Date): Quarter
- GDP环比折年率 (GDP QoQ Annualized): GDP growth rate
- GDP同比 (GDP YoY): GDP year-over-year
"""
# Get US GDP data
us_gdp_df = ak.macro_usa_gdp()import akshare as ak
def macro_usa_cpi() -> pd.DataFrame:
"""
US Consumer Price Index
Returns:
pd.DataFrame: CPI data with core and headline measures
"""
# Get US CPI data
us_cpi_df = ak.macro_usa_cpi()import akshare as ak
def macro_usa_ppi() -> pd.DataFrame:
"""
US Producer Price Index
Returns:
pd.DataFrame: PPI data for producer inflation
"""
# Get US PPI data
us_ppi_df = ak.macro_usa_ppi()import akshare as ak
def macro_usa_ism_pmi() -> pd.DataFrame:
"""
US ISM Manufacturing PMI
Returns:
pd.DataFrame: Manufacturing PMI data
"""
# Get US manufacturing PMI
us_pmi_df = ak.macro_usa_ism_pmi()import akshare as ak
def macro_usa_industrial_production() -> pd.DataFrame:
"""
US industrial production index
Returns:
pd.DataFrame: Industrial production data
"""
# Get US industrial production
us_industrial_df = ak.macro_usa_industrial_production()import akshare as ak
def macro_euro_interest_rate() -> pd.DataFrame:
"""
ECB interest rate decisions
Returns:
pd.DataFrame: ECB policy rate history
"""
# Get ECB rates
ecb_rates = ak.macro_euro_interest_rate()import akshare as ak
def macro_euro_cpi() -> pd.DataFrame:
"""
Eurozone Consumer Price Index
Returns:
pd.DataFrame: Eurozone inflation data
"""
# Get Eurozone CPI
euro_cpi = ak.macro_euro_cpi()import akshare as ak
def macro_euro_gdp() -> pd.DataFrame:
"""
Eurozone GDP quarterly data
Returns:
pd.DataFrame: Eurozone economic growth
"""
# Get Eurozone GDP
euro_gdp = ak.macro_euro_gdp()import akshare as ak
def macro_japan_cpi() -> pd.DataFrame:
"""Japanese Consumer Price Index"""
def macro_japan_gdp() -> pd.DataFrame:
"""Japanese GDP data"""
def macro_japan_interest_rate() -> pd.DataFrame:
"""Bank of Japan policy rates"""
# Get Japanese economic indicators
japan_cpi = ak.macro_japan_cpi()
japan_gdp = ak.macro_japan_gdp()
japan_rates = ak.macro_japan_interest_rate()import akshare as ak
def macro_australia_cpi() -> pd.DataFrame:
"""Australian Consumer Price Index"""
def macro_australia_gdp() -> pd.DataFrame:
"""Australian GDP data"""
def macro_australia_employment() -> pd.DataFrame:
"""Australian employment statistics"""
# Get Australian economic data
aus_cpi = ak.macro_australia_cpi()
aus_gdp = ak.macro_australia_gdp()
aus_employment = ak.macro_australia_employment()import akshare as ak
def macro_canada_cpi() -> pd.DataFrame:
"""Canadian Consumer Price Index"""
def macro_canada_gdp() -> pd.DataFrame:
"""Canadian GDP data"""
def macro_canada_employment() -> pd.DataFrame:
"""Canadian employment data"""
# Get Canadian economic indicators
canada_cpi = ak.macro_canada_cpi()
canada_gdp = ak.macro_canada_gdp()
canada_employment = ak.macro_canada_employment()import akshare as ak
def macro_uk_cpi() -> pd.DataFrame:
"""UK Consumer Price Index"""
def macro_uk_gdp() -> pd.DataFrame:
"""UK GDP quarterly data"""
def macro_uk_employment() -> pd.DataFrame:
"""UK employment statistics"""
# Get UK economic data
uk_cpi = ak.macro_uk_cpi()
uk_gdp = ak.macro_uk_gdp()
uk_employment = ak.macro_uk_employment()import akshare as ak
def macro_economic_calendar() -> pd.DataFrame:
"""
Economic event calendar with scheduled releases
Returns:
pd.DataFrame: Upcoming economic events and indicators
"""
# Get economic calendar
calendar_df = ak.macro_economic_calendar()import akshare as ak
import pandas as pd
def get_global_cpi_comparison() -> pd.DataFrame:
"""Compare CPI across major economies"""
# Get CPI data from major economies
china_cpi = ak.macro_china_cpi()
us_cpi = ak.macro_usa_cpi()
euro_cpi = ak.macro_euro_cpi()
japan_cpi = ak.macro_japan_cpi()
# Process and combine data for comparison
# (Implementation would involve data alignment and merging)
return combined_cpi_df
def get_global_gdp_comparison() -> pd.DataFrame:
"""Compare GDP growth across major economies"""
china_gdp = ak.macro_china_gdp()
us_gdp = ak.macro_usa_gdp()
euro_gdp = ak.macro_euro_gdp()
japan_gdp = ak.macro_japan_gdp()
return combined_gdp_df
# Usage
global_cpi = get_global_cpi_comparison()
global_gdp = get_global_gdp_comparison()import akshare as ak
def create_economic_dashboard(country: str = "china") -> dict:
"""Create comprehensive economic indicator dashboard"""
dashboard = {}
if country.lower() == "china":
dashboard.update({
'cpi': ak.macro_china_cpi(),
'gdp': ak.macro_china_gdp(),
'pmi': ak.macro_china_pmi(),
'money_supply': ak.macro_china_money_supply(),
'trade': ak.macro_china_trade(),
'interest_rate': ak.macro_china_interest_rate()
})
elif country.lower() == "usa":
dashboard.update({
'cpi': ak.macro_usa_cpi(),
'gdp': ak.macro_usa_gdp(),
'employment': ak.macro_usa_non_farm(),
'unemployment': ak.macro_usa_unemployment_rate(),
'pmi': ak.macro_usa_ism_pmi(),
'industrial': ak.macro_usa_industrial_production()
})
return dashboard
# Usage
china_dashboard = create_economic_dashboard("china")
us_dashboard = create_economic_dashboard("usa")The economic data capabilities in AKShare provide comprehensive coverage for macroeconomic analysis across major global economies, supporting both academic research and practical investment decision-making.
Install with Tessl CLI
npx tessl i tessl/pypi-akshare