AKShare Live Trading Guide¶
This documentation is an English translation of the original AKShare documentation.
Back to original Chinese documentation →
Overview¶
This section covers live trading integration with AKShare. AKShare primarily focuses on data acquisition, but can be integrated with various trading platforms.
Supported Trading Platforms¶
1. EasyTrader (银河证券)¶
EasyTrader provides automated trading capabilities for Galaxy Securities clients.
Installation:
pip install easytrader
Usage:
import easytrader
# Connect to trading terminal
user = easytrader.use('galaxy')
user.prepare('config.json') # Load credentials
# Get positions
positions = user.position
print(positions)
# Buy stocks
user.buy('600519', price=2000, amount=100)
# Sell stocks
user.sell('600519', price=2100, amount=100)
# Cancel orders
user.cancel_order('order_id')
2. AkShare with vn.py¶
vn.py is a professional trading framework that integrates with AKShare.
Installation:
pip install vnpy
Integration:
from vnpy.app.cta_strategy import CtaStrategy
from akshare import stock_zh_a_spot_em
class MyStrategy(CtaStrategy):
def __init__(self, strategy_name, vt_symbols, setting):
super().__init__(strategy_name, vt_symbols, setting)
self.symbol = "600519"
def on_bar(self, bar):
# Get data from AKShare
df = stock_zh_a_spot_em(self.symbol)
# Implement strategy logic
pass
3. RiceQuant Integration¶
RiceQuant provides quantitative research and live trading capabilities.
Website: https://www.ricequant.com
Trading API Examples¶
Simple Order Entry¶
import akshare as ak
# Get real-time quotes before trading
quote = ak.stock_zh_a_spot_em("600519")
print(quote)
Market Data for Strategy¶
import akshare as ak
# Get historical data for backtesting
df = ak.stock_zh_a_daily(
symbol="600519",
start_date="2024-01-01",
end_date="2024-01-31"
)
print(df.head())
Multiple Symbol Analysis¶
import akshare as ak
# Get market overview
market = ak.stock_market_summary()
print(market)
# Filter for specific stocks
target_stocks = market[market['change'] > 5]
print(target_stocks)
Risk Management¶
Position Sizing¶
def calculate_position(capital, risk_per_trade, stop_loss):
"""Calculate position size based on risk management."""
risk_amount = capital * risk_per_trade
position_size = risk_amount / stop_loss
return position_size
Stop Loss Example¶
def apply_stop_loss(entry_price, stop_pct):
"""Calculate stop loss price."""
return entry_price * (1 - stop_pct)
Best Practices¶
- Always verify data before executing trades
- Use paper trading to test strategies first
- Implement proper risk management
- Monitor positions actively
- Keep logs of all trading activity
**AKShare** | *Open Data. Open Minds.*
[GitHub](https://github.com/akfamily/akshare) • [Documentation](https://akshare.akfamily.xyz)