一个存货模型价格模拟
import numpy as np import math def PriceProcess(sigma,dt, s0=100, total_time=1): prices = s0* (1 + np.cumsum(sigma * np.sqrt(dt) * np.random.choice([1, -1], int(total_time / dt)))) return np.insert(prices, 0, s0) # 模拟存货模型价格区间函数 def ventage_price(s, q, gamma, sigma, bid_k, ask_k, rt = 0.98): gamma_sigma_sq = gamma * (sigma**2) spread_constant_bid = (2 / gamma) * math.log(1 + gamma / bid_k) * 35 spread_constant_ask = (2 / gamma) * math.log(1 + gamma / ask_k) * 35 g_ss_rt = gamma_sigma_sq * rt reservation_price = s - q * g_ss_rt spread_bid = (g_ss_rt + spread_constant_bid) / 2 spread_ask = (g_ss_rt + spread_constant_ask) / 2 print(f"q:{q} ask: {reservation_price + spread_ask :.3f} s: {s :.4f} bid: {reservation_price - spread_bid :.3f} reservation_price: {reservation_price :.2f}") for i in range(-10, 10): ventage_price(s=3500, q=i, gamma=0.1, sigma=1.8 , bid_k=1.5, ask_k=1.5, rt = 0.9)