通知设置 新通知
ptrade上的get_cb_info函数无法使用
Ptrade • 李魔佛 发表了文章 • 0 个评论 • 33 次浏览 • 2024-11-20 10:32
比如示例代码:
def initialize(context):
pass
def handle_data(context, data):
df = get_cb_info()
log.info(df)
最后跑出来的结果如下:
2024-11-20 10:22:00 - ERROR - 用户策略执行异常
2024-11-20 10:22:00 - ERROR - Exception: Traceback (most recent call last):
File /home/fly/sim_backtest/result/29fa7074-a6e6-11ef-b05b-c40778d9af27/user_strategy.py, line 6 in handle_data
df = get_cb_info()
--> data = BarDict(600570.SS)
--> context = <StrategyContext {'recorded_vars': {}, 'commission': <Commission {'cost': 0.0003, 'min_trade_cost': 5.0, 'tax': 0.001}>, 'blotter': <Blotter {'current_dt': date ...
NameError: name 'get_cb_info' is not defined
说明这个函数就根本没有做进去了。
目前我试的券商,国盛ptrade是无法使用的。
所以如果需要获取可转债的数据,需要自己写一个接口获取。我之前的很多文章里面也有写过类似的api接口。可以参考参考。
查看全部
def initialize(context):
pass
def handle_data(context, data):
df = get_cb_info()
log.info(df)
最后跑出来的结果如下:
2024-11-20 10:22:00 - ERROR - 用户策略执行异常
2024-11-20 10:22:00 - ERROR - Exception: Traceback (most recent call last):
File /home/fly/sim_backtest/result/29fa7074-a6e6-11ef-b05b-c40778d9af27/user_strategy.py, line 6 in handle_data
df = get_cb_info()
--> data = BarDict(600570.SS)
--> context = <StrategyContext {'recorded_vars': {}, 'commission': <Commission {'cost': 0.0003, 'min_trade_cost': 5.0, 'tax': 0.001}>, 'blotter': <Blotter {'current_dt': date ...
NameError: name 'get_cb_info' is not defined
说明这个函数就根本没有做进去了。
目前我试的券商,国盛ptrade是无法使用的。
所以如果需要获取可转债的数据,需要自己写一个接口获取。我之前的很多文章里面也有写过类似的api接口。可以参考参考。
查看全部
比如示例代码:
最后跑出来的结果如下:
说明这个函数就根本没有做进去了。
目前我试的券商,国盛ptrade是无法使用的。
所以如果需要获取可转债的数据,需要自己写一个接口获取。我之前的很多文章里面也有写过类似的api接口。可以参考参考。
def initialize(context):
pass
def handle_data(context, data):
df = get_cb_info()
log.info(df)
最后跑出来的结果如下:
2024-11-20 10:22:00 - ERROR - 用户策略执行异常
2024-11-20 10:22:00 - ERROR - Exception: Traceback (most recent call last):
File /home/fly/sim_backtest/result/29fa7074-a6e6-11ef-b05b-c40778d9af27/user_strategy.py, line 6 in handle_data
df = get_cb_info()
--> data = BarDict(600570.SS)
--> context = <StrategyContext {'recorded_vars': {}, 'commission': <Commission {'cost': 0.0003, 'min_trade_cost': 5.0, 'tax': 0.001}>, 'blotter': <Blotter {'current_dt': date ...
NameError: name 'get_cb_info' is not defined
说明这个函数就根本没有做进去了。
目前我试的券商,国盛ptrade是无法使用的。
所以如果需要获取可转债的数据,需要自己写一个接口获取。我之前的很多文章里面也有写过类似的api接口。可以参考参考。
python django3 跨域问题解决
python • 李魔佛 发表了文章 • 0 个评论 • 8 次浏览 • 2024-11-22 11:53
一个旧的项目,本来用的MVC的模式,后面需要拆分,前端换成React,所以django部分就换成只有api,不负责渲染了。
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0不然大概率是装不上的。
然后在setting里面配置这个
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
然后就OK了。
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了 查看全部
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0不然大概率是装不上的。
然后在setting里面配置这个
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
然后就OK了。
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了 查看全部
一个旧的项目,本来用的MVC的模式,后面需要拆分,前端换成React,所以django部分就换成只有api,不负责渲染了。
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
然后在setting里面配置这个
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
就可以了
然后react范围django api,会有跨域问题,所以需要额外配置一下。
网上很多教程都是基于最新的django4或者更新。
本文只针对django3 解决。
如果用的django3.10不然大概率是装不上的。
需要对应的版本的cors库:
pip install django-cors-headers==3.10.0
然后在setting里面配置这个
然后就OK了。
CORS_ORIGIN_ALLOW_ALL = True
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
如果需要更加细致的配置,比如只要求某个IP的机子才能访问,或者只能某个GET方法运行跨域。
# 允许跨域源
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'*'
)
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
# 额外允许的请求头
'token',
)
就可以了