def get_futures_zh_spot(self, subscribe_list, market, adjust): ''' :param subscribe_list: 需要订阅的合约代码; e.g., 按照示例获取 :param market:market="CF"; market="CF": 商品期货, market="FF": 金融期货 :param adjust:adjust=False; adjust=True: 返回合约、交易所和最小变动单位的实时数据, 返回数据会变慢 :return: symbol str Y 品种 time float Y 时间, e.g., 144050表示下午14点40分50秒 open float Y 开盘 high float Y 高 low float Y 低 current_price str Y 当前价格(买价) bid_price str Y 买 ask_price str Y 卖价 buy_vol float Y 买量 sell_vol float Y 卖量 hold float Y 持仓量 volume str Y 成交量 avg_price float Y 均价 last_close float Y 上一个交易日的收盘价 last_settle_price str Y 上一个交易日的结算价 ''' dce_text = ak.match_main_contract(exchange="dce") czce_text = ak.match_main_contract(exchange="czce") shfe_text = ak.match_main_contract(exchange="shfe") while True: #实时订阅 time.sleep(3) data = ak.futures_zh_spot(subscribe_list=",".join( [dce_text, czce_text, shfe_text]), market=market, adjust=adjust) print(data) return data
import time import akshare as ak from datetime import datetime import pandas as pd s1 = "" t1 = [] df = pd.DataFrame() while True: data = ak.futures_zh_spot( subscribe_list="RB2110", market="CF", # market="CF"; market="CF": 商品期货, market="FF": 金融期货 adjust=False) #adjust=False; adjust=True: 返回合约、交易所和最小变动单位的实时数据, 返回数据会变慢 date = datetime.now().date().strftime("%Y%m%d") time = data.iloc[-1].to_dict()['time'] time = datetime.strptime(str(date)+time,'%Y%m%d%H%M%S') current_price = data.iloc[-1].to_dict()['current_price']#[['symbol','time','open','high','low','current_price']] print(time,current_price) # if df.empty==False: # if df.iloc[-1].to_dict()['price']!=current_price: # df = df.append({'date':time,'price':current_price},ignore_index=True) # print(df) # else: # df = df.append({'date':time,'price':current_price},ignore_index=True) # print(df)
def get_agm(): fdata = ak.futures_zh_spot("AG2102", market="CF") subscribe_list = ak.hf_subscribe_exchange_symbol() futures_hf_spot_df = ak.futures_hf_spot(subscribe_list) return fdata
__author__ = 'zoulida' import time import akshare as ak cffex_text = ak.match_main_contract(exchange="cffex") while True: time.sleep(3) data = ak.futures_zh_spot(subscribe_list=cffex_text, market="FF") print(data)
os.mkdir(localtime) try: df_Stock = ak.stock_zh_a_spot() df_Stock.to_excel(localtime + '/A_data.xlsx') except: pass time.sleep(10) try: dce_text = ak.match_main_contract(exchange="dce") czce_text = ak.match_main_contract(exchange="czce") shfe_text = ak.match_main_contract(exchange="shfe") df_Future_C = ak.futures_zh_spot(subscribe_list=",".join( [dce_text, czce_text, shfe_text]), adjust=False, market="CF") df_Future_C.to_excel(localtime + '/Future_C_data.xlsx') except: pass time.sleep(10) try: cffex_text = ak.match_main_contract(exchange="cffex") df_Future_F = ak.futures_zh_spot(subscribe_list=cffex_text, market="FF", adjust=False) df_Future_F.to_excel(localtime + '/Future_F_data.xlsx') except: pass
import akshare as ak get_futures_daily_df = ak.get_futures_daily(start_date="20201220", end_date="20201225", market="SHFE", index_bar=True) import time import akshare as ak dce_text = ak.match_main_contract(exchange="dce") czce_text = ak.match_main_contract(exchange="czce") shfe_text = ak.match_main_contract(exchange="shfe") while True: time.sleep(3) data = ak.futures_zh_spot(subscribe_list=",".join( [dce_text, czce_text, shfe_text]), market="CF", adjust=False) print(data)
def get_futures_price(futures): price_data = ak.futures_zh_spot(subscribe_list="nf_" + futures, market="FF", adjust="N") futures_price = price_data['current_price'][0] return futures_price