or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

economic-data.mdfinancial-instruments.mdfundamental-analysis.mdindex.mdmarket-indices.mdstock-data.md

stock-data.mddocs/

0

# Stock Market Data

1

2

AKShare provides comprehensive stock market data coverage with 325+ functions across two main categories: core STOCK data (120 functions) and advanced STOCK_FEATURE data (205 functions). This covers Chinese A-shares, Hong Kong stocks, US stocks, and various technical indicators and analysis tools.

3

4

## Core Stock Data (STOCK Category)

5

6

### Real-time Stock Quotes

7

8

#### Chinese A-shares (Sina Finance)

9

```python { .api }

10

import akshare as ak

11

12

# Real-time A-share market data

13

def stock_zh_a_spot() -> pd.DataFrame:

14

"""

15

Returns real-time A-share quotes from Sina Finance

16

17

Returns:

18

pd.DataFrame: Real-time market data with columns:

19

- 代码 (Code): Stock symbol

20

- 名称 (Name): Stock name

21

- 最新价 (Latest): Current price

22

- 涨跌额 (Change): Price change amount

23

- 涨跌幅 (Pct_change): Percentage change

24

- 买入 (Bid): Bid price

25

- 卖出 (Ask): Ask price

26

- 成交量 (Volume): Trading volume

27

- 成交额 (Amount): Trading amount

28

"""

29

30

# Usage example

31

df = ak.stock_zh_a_spot()

32

print(df.head())

33

# 代码 名称 最新价 涨跌额 涨跌幅 买入 卖出 成交量 成交额

34

# 0 000001 平安银行 10.50 0.15 1.45 10.49 10.50 1234567 12950123456

35

# 1 000002 万科A 8.92 -0.08 -0.89 8.91 8.92 987654 8800765432

36

```

37

38

#### Historical A-share Data

39

```python { .api }

40

import akshare as ak

41

42

def stock_zh_a_hist(symbol: str = "000001", period: str = "daily",

43

start_date: str = "19700101", end_date: str = "20500101",

44

adjust: str = "") -> pd.DataFrame:

45

"""

46

Returns historical daily A-share data

47

48

Parameters:

49

symbol: Stock code (e.g., "000001")

50

period: Data frequency ("daily", "weekly", "monthly")

51

start_date: Start date in YYYYMMDD format

52

end_date: End date in YYYYMMDD format

53

adjust: Adjustment type ("qfq": 前复权, "hfq": 后复权, "": 不复权)

54

55

Returns:

56

pd.DataFrame: Historical data with OHLCV columns

57

"""

58

59

# Get historical data for Ping An Bank

60

hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20240101", end_date="20241201")

61

print(hist_df.head())

62

# 日期 开盘 收盘 最高 最低 成交量 成交额

63

# 0 2024-01-02 10.20 10.35 10.40 10.15 5678901 58590123456

64

# 1 2024-01-03 10.35 10.28 10.42 10.25 4567890 46789012345

65

```

66

67

#### Minute-level Data

68

```python { .api }

69

import akshare as ak

70

71

def stock_zh_a_hist_min_em(symbol: str = "000001", period: str = "5",

72

start_date: str = "1979-09-01 09:32:00",

73

end_date: str = "2222-01-01 09:32:00",

74

adjust: str = "") -> pd.DataFrame:

75

"""

76

Returns minute-level A-share data

77

78

Parameters:

79

symbol: Stock code (e.g., "000001")

80

period: Time period ("1", "5", "15", "30", "60")

81

start_date: Start datetime in "YYYY-MM-DD HH:MM:SS" format

82

end_date: End datetime in "YYYY-MM-DD HH:MM:SS" format

83

adjust: Adjustment type ("", "qfq", "hfq")

84

85

Returns:

86

pd.DataFrame: Minute-level OHLCV data

87

"""

88

89

# Get 5-minute data for recent trading

90

minute_df = ak.stock_zh_a_hist_min_em(symbol="000001", period="5")

91

```

92

93

### US Stock Market Data

94

95

#### Real-time US Stocks

96

```python { .api }

97

import akshare as ak

98

99

def stock_us_spot() -> pd.DataFrame:

100

"""

101

Returns real-time US stock quotes

102

103

Returns:

104

pd.DataFrame: US stock market data with columns:

105

- 代码 (Symbol): Stock symbol

106

- 名称 (Name): Company name

107

- 最新价 (Price): Current price

108

- 涨跌额 (Change): Price change

109

- 涨跌幅 (Pct_change): Percentage change

110

- 成交量 (Volume): Trading volume

111

"""

112

113

# Get US stock real-time data

114

us_df = ak.stock_us_spot()

115

print(us_df.head())

116

# 代码 名称 最新价 涨跌额 涨跌幅 成交量

117

# 0 AAPL Apple 150.25 2.15 1.45 12345678

118

# 1 MSFT Microsoft 310.80 -1.20 -0.38 8765432

119

```

120

121

#### Historical US Stock Data

122

```python { .api }

123

import akshare as ak

124

125

def stock_us_daily(symbol: str, start_date: str = "19700101",

126

end_date: str = "20500101") -> pd.DataFrame:

127

"""

128

Returns historical daily US stock data

129

130

Parameters:

131

symbol: US stock symbol (e.g., "AAPL")

132

start_date: Start date in YYYYMMDD format

133

end_date: End date in YYYYMMDD format

134

135

Returns:

136

pd.DataFrame: Historical OHLCV data

137

"""

138

139

# Get Apple historical data

140

aapl_df = ak.stock_us_daily(symbol="AAPL", start_date="20240101")

141

```

142

143

### Hong Kong Stock Market

144

145

#### Real-time HK Stocks

146

```python { .api }

147

import akshare as ak

148

149

def stock_hk_spot() -> pd.DataFrame:

150

"""

151

Returns real-time Hong Kong stock quotes

152

153

Returns:

154

pd.DataFrame: HK stock market data

155

"""

156

157

# Get Hong Kong stock data

158

hk_df = ak.stock_hk_spot()

159

```

160

161

#### Historical HK Stock Data

162

```python { .api }

163

import akshare as ak

164

165

def stock_hk_daily(symbol: str, start_date: str = "19700101",

166

end_date: str = "20500101") -> pd.DataFrame:

167

"""

168

Returns historical Hong Kong stock data

169

170

Parameters:

171

symbol: HK stock code (e.g., "00700")

172

173

Returns:

174

pd.DataFrame: Historical data

175

"""

176

177

# Get Tencent historical data

178

tencent_df = ak.stock_hk_daily(symbol="00700", start_date="20240101")

179

```

180

181

## Advanced Stock Features (STOCK_FEATURE Category)

182

183

### East Money Enhanced Data

184

185

#### Real-time Enhanced A-shares

186

```python { .api }

187

import akshare as ak

188

189

def stock_zh_a_spot_em() -> pd.DataFrame:

190

"""

191

East Money enhanced real-time A-share data

192

193

Returns:

194

pd.DataFrame: Enhanced market data with columns:

195

- 序号 (Index): Row number

196

- 代码 (Code): Stock code

197

- 名称 (Name): Stock name

198

- 最新价 (Latest): Current price

199

- 涨跌幅 (Pct_change): Percentage change

200

- 涨跌额 (Change): Price change amount

201

- 成交量 (Volume): Trading volume

202

- 成交额 (Amount): Trading amount

203

- 振幅 (Amplitude): Price amplitude

204

- 最高 (High): Highest price

205

- 最低 (Low): Lowest price

206

- 今开 (Open): Opening price

207

- 昨收 (Prev_close): Previous close

208

- 量比 (Volume_ratio): Volume ratio

209

- 换手率 (Turnover): Turnover rate

210

- 市盈率-动态 (PE_dynamic): Dynamic P/E ratio

211

- 市净率 (PB): Price-to-book ratio

212

- 总市值 (Total_mv): Total market value

213

- 流通市值 (Float_mv): Floating market value

214

- 涨速 (Rise_speed): Rising speed

215

- 5分钟涨跌 (Change_5min): 5-minute change

216

- 60日涨跌幅 (Change_60d): 60-day change

217

- 年初至今涨跌幅 (Change_ytd): Year-to-date change

218

"""

219

220

# Get enhanced real-time data

221

enhanced_df = ak.stock_zh_a_spot_em()

222

print(enhanced_df.columns.tolist())

223

```

224

225

#### Historical Data with Adjustments

226

```python { .api }

227

import akshare as ak

228

229

def stock_zh_a_hist(symbol: str, period: str = "daily",

230

start_date: str = "19700101",

231

end_date: str = "20500101",

232

adjust: str = "") -> pd.DataFrame:

233

"""

234

Enhanced historical A-share data with adjustment options

235

236

Parameters:

237

symbol: Stock code

238

period: Data frequency ("daily", "weekly", "monthly")

239

start_date: Start date (YYYYMMDD)

240

end_date: End date (YYYYMMDD)

241

adjust: Price adjustment ("qfq"=forward, "hfq"=backward, ""=none)

242

243

Returns:

244

pd.DataFrame: OHLCV data with volume and amount

245

"""

246

247

# Get adjusted historical data

248

adj_df = ak.stock_zh_a_hist(

249

symbol="000001",

250

period="daily",

251

start_date="20240101",

252

adjust="qfq" # Forward adjusted prices

253

)

254

```

255

256

### Special Market Segments

257

258

#### STAR Market (科创板)

259

```python { .api }

260

import akshare as ak

261

262

def stock_kc_a_spot_em() -> pd.DataFrame:

263

"""

264

Real-time STAR Market (Science and Technology Innovation Board) data

265

266

Returns:

267

pd.DataFrame: STAR Market real-time quotes

268

"""

269

270

# Get STAR Market data

271

star_df = ak.stock_kc_a_spot_em()

272

```

273

274

#### ChiNext Market (创业板)

275

```python { .api }

276

import akshare as ak

277

278

def stock_cy_a_spot_em() -> pd.DataFrame:

279

"""

280

Real-time ChiNext Market data

281

282

Returns:

283

pd.DataFrame: ChiNext real-time quotes

284

"""

285

286

# Get ChiNext data

287

chinext_df = ak.stock_cy_a_spot_em()

288

```

289

290

### Stock Connect Data

291

292

#### Hong Kong-Shanghai/Shenzhen Stock Connect

293

```python { .api }

294

import akshare as ak

295

296

def stock_hsgt_fund_flow_summary_em() -> pd.DataFrame:

297

"""

298

Stock Connect capital flow summary

299

300

Returns:

301

pd.DataFrame: Capital flow data between mainland and HK

302

"""

303

304

def stock_hsgt_individual_em(symbol: str) -> pd.DataFrame:

305

"""

306

Individual stock data in Stock Connect

307

308

Parameters:

309

symbol: Stock code

310

311

Returns:

312

pd.DataFrame: Individual stock connect data

313

"""

314

315

# Get Stock Connect flow summary

316

flow_summary = ak.stock_hsgt_fund_flow_summary_em()

317

318

# Get individual stock connect data

319

individual_data = ak.stock_hsgt_individual_em(symbol="000001")

320

```

321

322

### Capital Flow Analysis

323

324

#### Sector Capital Flows

325

```python { .api }

326

import akshare as ak

327

328

def stock_fund_flow_concept() -> pd.DataFrame:

329

"""

330

Concept sector capital flow data

331

332

Returns:

333

pd.DataFrame: Capital flows by concept sectors

334

"""

335

336

def stock_fund_flow_industry() -> pd.DataFrame:

337

"""

338

Industry sector capital flow data

339

340

Returns:

341

pd.DataFrame: Capital flows by industry sectors

342

"""

343

344

# Get concept sector flows

345

concept_flows = ak.stock_fund_flow_concept()

346

347

# Get industry sector flows

348

industry_flows = ak.stock_fund_flow_industry()

349

```

350

351

### Margin Trading Data

352

353

#### Margin Trading Statistics

354

```python { .api }

355

import akshare as ak

356

357

def stock_margin_detail_em() -> pd.DataFrame:

358

"""

359

Detailed margin trading data

360

361

Returns:

362

pd.DataFrame: Margin trading statistics by stock

363

"""

364

365

def stock_margin_summary_em() -> pd.DataFrame:

366

"""

367

Margin trading summary data

368

369

Returns:

370

pd.DataFrame: Overall margin trading summary

371

"""

372

373

# Get margin trading details

374

margin_detail = ak.stock_margin_detail_em()

375

376

# Get margin trading summary

377

margin_summary = ak.stock_margin_summary_em()

378

```

379

380

### Dragon-Tiger Board Data

381

382

#### Large Transaction Tracking

383

```python { .api }

384

import akshare as ak

385

386

def stock_lhb_detail_em(start_date: str, end_date: str) -> pd.DataFrame:

387

"""

388

Dragon-Tiger Board detailed transaction data

389

390

Parameters:

391

start_date: Start date (YYYY-MM-DD)

392

end_date: End date (YYYY-MM-DD)

393

394

Returns:

395

pd.DataFrame: Large transaction details

396

"""

397

398

# Get Dragon-Tiger Board data

399

lhb_data = ak.stock_lhb_detail_em(

400

start_date="2024-01-01",

401

end_date="2024-12-01"

402

)

403

```

404

405

### Technical Analysis Indicators

406

407

#### Technical Indicators from Tonghuashun

408

```python { .api }

409

import akshare as ak

410

411

def stock_zh_a_gdhs_detail_em(symbol: str) -> pd.DataFrame:

412

"""

413

Stock technical analysis details

414

415

Parameters:

416

symbol: Stock code

417

418

Returns:

419

pd.DataFrame: Technical analysis indicators

420

"""

421

422

def stock_technology_ths(symbol: str, indicator: str) -> pd.DataFrame:

423

"""

424

Technical indicators from Tonghuashun

425

426

Parameters:

427

symbol: Stock code

428

indicator: Technical indicator type

429

430

Returns:

431

pd.DataFrame: Technical indicator data

432

"""

433

434

# Get technical analysis details

435

tech_detail = ak.stock_zh_a_gdhs_detail_em(symbol="000001")

436

437

# Get specific technical indicators

438

rsi_data = ak.stock_technology_ths(symbol="000001", indicator="RSI")

439

```

440

441

## Market Information and Lists

442

443

### Stock Lists and Categories

444

445

#### Market Board Classification

446

```python { .api }

447

import akshare as ak

448

449

def stock_board_concept_name_em() -> pd.DataFrame:

450

"""

451

Concept board names and classifications

452

453

Returns:

454

pd.DataFrame: Concept board information

455

"""

456

457

def stock_board_industry_name_em() -> pd.DataFrame:

458

"""

459

Industry board names and classifications

460

461

Returns:

462

pd.DataFrame: Industry classification data

463

"""

464

465

# Get concept boards

466

concept_boards = ak.stock_board_concept_name_em()

467

468

# Get industry boards

469

industry_boards = ak.stock_board_industry_name_em()

470

```

471

472

#### Stock Information

473

```python { .api }

474

import akshare as ak

475

476

def stock_info_a_code_name() -> pd.DataFrame:

477

"""

478

A-share stock code and name mapping

479

480

Returns:

481

pd.DataFrame: Stock code to name mapping

482

"""

483

484

def stock_info_sz_name_code() -> pd.DataFrame:

485

"""

486

Shenzhen stock exchange code-name mapping

487

488

Returns:

489

pd.DataFrame: SZ stock information

490

"""

491

492

# Get A-share stock list

493

stock_list = ak.stock_info_a_code_name()

494

495

# Get Shenzhen stock list

496

sz_stocks = ak.stock_info_sz_name_code()

497

```

498

499

## Usage Patterns

500

501

### Common Data Retrieval Workflow

502

```python { .api }

503

import akshare as ak

504

import pandas as pd

505

506

# Step 1: Get stock list

507

stock_list = ak.stock_info_a_code_name()

508

509

# Step 2: Get real-time data for all stocks

510

realtime_data = ak.stock_zh_a_spot_em()

511

512

# Step 3: Get historical data for specific stock

513

symbol = "000001"

514

historical_data = ak.stock_zh_a_hist(

515

symbol=symbol,

516

start_date="20240101",

517

end_date="20241201",

518

adjust="qfq"

519

)

520

521

# Step 4: Analyze technical indicators

522

tech_indicators = ak.stock_zh_a_gdhs_detail_em(symbol=symbol)

523

524

# Step 5: Check capital flows

525

if symbol in realtime_data['代码'].values:

526

flow_data = ak.stock_hsgt_individual_em(symbol=symbol)

527

```

528

529

### Error Handling and Data Validation

530

```python { .api }

531

import akshare as ak

532

533

def get_stock_data_safely(symbol: str) -> pd.DataFrame:

534

"""Safe stock data retrieval with error handling"""

535

try:

536

df = ak.stock_zh_a_hist(symbol=symbol)

537

if df.empty:

538

print(f"No data available for symbol {symbol}")

539

return pd.DataFrame()

540

return df

541

except Exception as e:

542

print(f"Error retrieving data for {symbol}: {e}")

543

return pd.DataFrame()

544

545

# Usage

546

data = get_stock_data_safely("000001")

547

```

548

549

### Data Frequency and Updates

550

- **Real-time data**: Updated during trading hours (9:30-15:00 CST)

551

- **Daily data**: Available after market close

552

- **Historical data**: Covers multiple years of trading history

553

- **Minute data**: Available for recent trading periods

554

- **Adjusted prices**: Forward (qfq) and backward (hfq) adjustment options

555

556

The stock data capabilities in AKShare provide comprehensive coverage for equity market analysis, from basic price data to advanced technical indicators and market microstructure information.