@@ -40,40 +40,67 @@ api_key = os.getenv("BINANCE_API_KEY")
4040api_secret = os.getenv(" BINANCE_API_SECRET" )
4141
4242# 创建服务实例
43- service = MarketDataService(api_key, api_secret)
44-
45- # 获取单个交易对的行情数据
46- ticker = service.get_symbol_ticker(" BTCUSDT" )
47-
48- # 获取排名靠前的币种数据
49- top_coins = service.get_top_coins(
50- limit = 10 ,
51- sort_by = SortBy.QUOTE_VOLUME ,
52- quote_asset = " USDT"
53- )
54-
55- # 获取市场概况
56- summary = service.get_market_summary(interval = Freq.d1)
57-
58- # 获取历史K线数据
59- klines = service.get_historical_klines(
60- symbol = " BTCUSDT" ,
61- start_time = " 20240101" ,
62- end_time = " 20240102" ,
63- interval = Freq.h1,
64- klines_type = HistoricalKlinesType.SPOT
65- )
66-
67- # 获取永续合约数据
68- perpetual_data = service.get_perpetual_data(
69- symbols = [" BTCUSDT" , " ETHUSDT" ],
70- start_time = " 20240101" ,
71- end_time = " 20240102" ,
72- freq = Freq.h1,
73- store = True , # 是否存储数据
74- market = " SWAP" ,
75- features = [" cls" , " hgh" , " low" , " opn" , " vwap" , " vol" ]
76- )
43+ market_service = MarketDataService(api_key, api_secret)
44+
45+ 演示各种市场数据功能
46+
47+ # 1. 获取单个交易对的实时行情
48+ btc_ticker = market_service.get_symbol_ticker(" BTCUSDT" )
49+ logger.info(f " BTCUSDT 实时行情: { btc_ticker} " )
50+
51+ # 2. 获取所有交易对的实时行情
52+ all_tickers = market_service.get_symbol_ticker()
53+ logger.info(f " 获取到 { len (all_tickers)} 个交易对的行情 " )
54+
55+ # 3. 获取成交量排名前10的USDT交易对
56+ top_coins = market_service.get_top_coins(
57+ limit = 10 , sort_by = SortBy.QUOTE_VOLUME , quote_asset = " USDT"
58+ )
59+ logger.info(" 成交量TOP10的USDT交易对:" )
60+ for coin in top_coins:
61+ logger.info(f " { coin.symbol} : 成交量 { coin.quote_volume} " )
62+
63+ # 4. 获取市场概览
64+ market_summary = market_service.get_market_summary(interval = Freq.h1)
65+ logger.info(f " 市场概览时间: { market_summary[' snapshot_time' ]} " )
66+
67+ # 5. 获取历史K线数据
68+ historical_data = market_service.get_historical_klines(
69+ symbol = " ETHUSDT" ,
70+ start_time = " 20240101" ,
71+ end_time = " 20240103" ,
72+ interval = Freq.h4,
73+ klines_type = HistoricalKlinesType.SPOT ,
74+ )
75+ logger.info(f " 获取到 { len (historical_data)} 条 ETHUSDT 历史数据 " )
76+
77+ # 6. 获取订单簿数据
78+ orderbook = market_service.get_orderbook(" BTCUSDT" , limit = 10 )
79+ logger.info(f " BTCUSDT 订单簿深度: { len (orderbook[' bids' ])} 档 " )
80+
81+ # 7. 获取永续合约数据
82+ perpetual_data = market_service.get_perpetual_data(
83+ symbols = [
84+ " BTCUSDT" ,
85+ " ETHUSDT" ,
86+ " BNBUSDT" ,
87+ " SOLUSDT" ,
88+ " ADAUSDT" ,
89+ " XRPUSDT" ,
90+ " DOGEUSDT" ,
91+ " DOTUSDT" ,
92+ " AVAXUSDT" ,
93+ " LTCUSDT" ,
94+ ],
95+ start_time = " 20240101" ,
96+ end_time = " 20240103" ,
97+ interval = Freq.h1,
98+ data_path = " data" ,
99+ )
100+ StorageUtils.visualize_npy_data(" ./data/1h/count/20240102.npy" )
101+ StorageUtils.visualize_npy_data(" ./data/1h/high_price/20240102.npy" )
102+ StorageUtils.visualize_npy_data(" ./data/1h/last_price/20240102.npy" )
103+ StorageUtils.visualize_npy_data(" ./data/1h/low_price/20240102.npy" )
77104```
78105
79106## 开发环境设置
0 commit comments