代码拉取完成,页面将自动刷新
同步操作将从 lightning-trader/stock_robot 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import numpy as np
import const as cst
from stock_info import StockSceneInfo
PRICE_CHANGE_LIMIT = 0.1
def vtor(v:np.float64,s:np.float64)->np.float32:
if s == 0:
return 0
return (v - s) / s / PRICE_CHANGE_LIMIT / 2 + 0.5
#return np.float32(s/(v+s))
def rtov(r:np.float32,s:np.float64)->np.float64:
return (r - 0.5) * PRICE_CHANGE_LIMIT * 2 * s + s
'''
if r != 0 :
return s/np.float64(r)-s
else:
return 0
'''
def parse_action(standard,action):
buy_action = action[1]
sell_action = action[0]
sell_price = rtov(sell_action,standard) #价格
buy_price = rtov(buy_action,standard)
return buy_price,sell_price
#获取obs
def get_obs(stock):
obs = np.zeros(shape=(cst.HISTORY_DATA_COUNT*cst.STOCK_FIELD_COUNT,),dtype=np.float32)
for j in range(len(stock)):
item : StockSceneInfo = stock[j]
obs[cst.STOCK_FIELD_COUNT*j+0] = item.Open
obs[cst.STOCK_FIELD_COUNT*j+1] = item.High
obs[cst.STOCK_FIELD_COUNT*j+2] = item.Low
obs[cst.STOCK_FIELD_COUNT*j+3] = item.Close
obs[cst.STOCK_FIELD_COUNT*j+4] = item.Deal
obs[cst.STOCK_FIELD_COUNT*j+5] = np.float32(item.Turn) #变成0到1区间
if item.IsST:
obs[cst.STOCK_FIELD_COUNT*j+6] = np.float32(0)
else :
obs[cst.STOCK_FIELD_COUNT*j+6] = np.float32(1)
return obs
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。