alpha 性能回写

main
jack 1 month ago
parent f1dd0aa64f
commit a9ec2702db
  1. 2
      fetch-alphas/wqb-get-alphas.py
  2. 71
      test/wqb-fetch_alpha_by_id/main.py

@ -36,7 +36,7 @@ class AlphaManager:
return logger
def login(self, credentials_file='account.txt'):
def login(self):
"""登录WorldQuant Brain API"""
try:
# 从nacos获取账号密码

@ -0,0 +1,71 @@
import httpx
from httpx import BasicAuth, Timeout
def login():
"""登录WorldQuant Brain API"""
try:
# 从nacos获取账号密码
with httpx.Client(timeout=10.0) as temp_client:
nacos_resp = temp_client.get(
'http://192.168.31.41:30848/nacos/v1/cs/configs?dataId=wq_account&group=quantify'
)
if nacos_resp.status_code != 200:
print('获取账号密码失败')
return False
config = nacos_resp.json()
username = config.get('user_name')
password = config.get('password')
if not username or not password:
print('账号密码不完整')
return False
print(f"正在登录账户: {username}")
# 创建客户端并设置超时(关键修复)
# 设置更长的超时时间:连接30秒,读取60秒
timeout = Timeout(connect=30.0, read=60.0, write=30.0, pool=30.0)
client = httpx.Client(
auth=BasicAuth(username, password),
timeout=timeout
)
# 发送登录请求
response = client.post(
'https://api.worldquantbrain.com/authentication')
if response.status_code == 201:
print("登录成功!")
# 登录成功后将client对象返回出来
return client
else:
print(
f"登录失败: {response.status_code} - {response.text}")
client.close()
return False
except Exception as e:
print(f"登录异常: {e}")
return False
def fetch_alpha_by_id(alpha_id: str, client: httpx.Client):
"""根据Alpha ID获取Alpha详情"""
url = f"https://api.worldquantbrain.com/alphas/{alpha_id}"
response = client.get(url)
if response.status_code == 200:
return response.json()
else:
return {}
if __name__ == '__main__':
client = login()
if not client:
exit(1)
alpha = fetch_alpha_by_id('O0mnm8zd', client)
print(alpha)
Loading…
Cancel
Save