

好的,我现在需要处理用户提供的查询请求。用户上传了一段看起来像是量化平台API文档的内容,并希望我根据这些文档内容回答他们的问题。首先,我需要仔细阅读用户提供的文档,理解其中的结构和内容,然后根据用户的问题进行回答。
首先,用户提供的文档内容非常详细,涵盖了量化平台的多个方面,包括API的使用方法、数据检索方式、代码编写示例等。文档分为多个部分,每个部分都有标题和正文内容,例如“策略框架函数”、“数据检索方式”、“代码示例”等。每个部分都详细描述了相关的函数、参数、返回值以及示例代码。
接下来,我需要明确用户的具体问题。根据用户提供的查询请求,用户可能需要帮助理解如何使用这些API,或者如何根据文档中的信息编写特定的代码。例如,用户可能需要知道如何调用某个函数,如何处理返回的数据,或者如何结合多个函数实现特定的策略。
在处理用户的问题时,我需要遵循以下原则:
现在,我需要模拟一个用户可能提出的问题,并根据文档内容生成回答。例如,用户可能问:“如何在策略中获取实时股票行情数据?”或者“如何设置回测的初始资金和交易频率?”
假设用户的问题是:“如何在策略中获取实时股票行情数据?”,我需要根据文档中的“get_price”函数部分进行回答,详细说明函数的调用方法、参数、返回值以及示例代码。
在回答过程中,我需要确保使用文档中提供的术语和结构,例如函数签名、参数说明、返回值类型等。同时,要提供示例代码,并解释其作用,确保用户能够理解如何在实际策略中应用这些函数。
此外,如果用户的问题涉及到多个文档部分,我需要综合这些部分的信息,提供一个全面的回答。例如,用户可能需要同时获取行情数据和设置交易参数,此时需要结合“get_price”和“set_commission”等函数的文档内容进行回答。
最后,我需要检查回答是否符合用户的要求,是否准确反映了文档内容,并且没有引入任何未提及的信息。如果发现有不确定的地方,应该明确指出文档中未提及的内容,并建议用户确认具体需求。
根据提供的文档内容,以下是关于如何在策略中获取实时股票行情数据的详细说明:
get_price 函数获取历史行情数据get_price 函数用于获取多只证券的历史行情数据,支持分钟频和日频数据。以下是具体步骤:
函数签名:
get_price(
securities: str | list[str],
start_date: str | datetime-like | None,
end_date: str | datetime-like,
fre_step: str,
fields: list[str],
skip_paused: bool = False,
fq: str | None = 'pre',
bar_count: int = 0,
is_panel: bool = False,
) -> dict | pd.Panel | pd.DataFrame
参数说明:
securities:标的代码,支持单只股票(如 '000001.SZ')或多只股票(如 ['000001.SZ', '000002.SZ'])。start_date:起始时间,格式为 'YYYYMMDD' 或 datetime 对象。若为 None,则从 end_date 往前取 bar_count 个时间步长的数据。end_date:结束时间,格式为 'YYYYMMDD' 或 datetime 对象。fre_step:时间步长,支持 '1d'(日频)、'1m'(分钟频)等。fields:需要获取的字段,例如 ['open', 'high', 'low', 'close', 'volume']。skip_paused:是否跳过停牌数据,默认为 False。fq:复权类型,支持 'pre'(前复权)、'post'(后复权)、None(不复权)。bar_count:历史长度,仅在 start_date 为 None 时有效。is_panel:返回数据格式,True 时返回 pd.Panel,False 时返回 dict 或 pd.DataFrame。示例代码:
# 获取平安银行(000001.SZ)在2023年8月1日的收盘价、最高价、最低价
data = get_price(
securities='000001.SZ',
start_date='20230801',
end_date='20230801',
fre_step='1d',
fields=['close', 'high', 'low'],
is_panel=False
)
print(data['000001.SZ'])
返回值示例:
close high low
2023-08-01 12.34 12.50 12.20
get_last_tick 函数获取实时行情快照get_last_tick 函数用于获取指定标的的实时行情快照数据,支持单只或多只股票。
函数签名:
get_last_tick(
securities: str | list[str],
fields: list[str],
level: str | None = None,
) -> pd.DataFrame
参数说明:
securities:标的代码,支持单只或多只股票。fields:需要获取的字段,例如 ['current', 'volume', 'b1_p', 'a1_p']。level:数据级别,通常为 None。示例代码:
# 获取平安银行(000001.SZ)和招商银行(600000.SH)的实时价格和买卖五档
data = get_last_tick(
securities=['000001.SZ', '600000.SH'],
fields=['current', 'b1_p', 'b2_p', 'a1_p', 'a2_p']
)
print(data)
返回值示例:
id_stock current b1_p b2_p a1_p a2_p
000001.SZ 12.35 12.30 12.25 12.40 12.45
600000.SH 18.20 18.15 18.10 18.25 18.30
get_current 函数获取当前行情数据get_current 函数用于获取指定标的的当前行情数据,支持多只股票同时查询。
函数签名:
get_current(
inst_id_list: str | list[str],
) -> dict
参数说明:
inst_id_list:标的代码列表,支持单只或多只股票。示例代码:
# 获取平安银行(000001.SZ)和招商银行(600000.SH)的当前行情数据
current_data = get_current(['000001.SZ', '600000.SH'])
print(current_data)
返回值示例:
{
'000001.SZ': {
'symbol': '000001.SZ',
'datetime': '2024-11-15 15:00:00',
'current': 12.35,
'volume': 1000000,
'b1_p': 12.30,
'a1_p': 12.40
},
'600000.SH': {
'symbol': '600000.SH',
'datetime': '2024-11-15 15:00:00',
'current': 18.20,
'volume': 500000,
'b1_p': 18.15,
'a1_p': 18.25
}
}
通过 get_price、get_last_tick 和 get_current 三个函数,可以灵活获取股票的历史行情、实时快照和当前行情数据。具体选择哪个函数取决于策略需求:
get_price 获取日频/分钟频数据。get_last_tick 获取实时行情快照。get_current 获取最新行情数据。如果需要进一步帮助,请明确具体需求(如“如何根据实时行情生成买卖信号?”)。

