Пусть S_n - простая случайная прогулка. Мне нужно сделать симуляцию в Python, доказав, что следующие процессы - мартингалы
- S_n, когда случайное блуждание симметрично c
- S_n -n (pq)
- (S_n) ^ 2 - 2 (pq) S_n + (n (pq)) ^ 2 - n (1-p + q)
например, мой код для второго процесса выглядит например:
def step(p):
a = np.random.rand()
if a < p:
return 1
else:
return -1
p=np.random.rand()
print(p)
def runMartingale(ile):
proces=0
profit=0
win=0
for i in range(ile):
result = step(p)
if result == 1:
profit += 1
win += 1
proces += profit-i*(p-1+p)
else:
profit -= 1
proces += profit-i*(p-1+p)
return(proces, win)
def simulateMartingale(n, ile):
averageProces, averageWin = 0, 0
for _ in range(n):
proces, win = runMartingale(ile)
averageProces += proces
averageWin += win
averageProces /= n
averageWin /= n
return(averageProces, averageWin)
Возвращает среднее количество выигрышей для n процессов с простыми шагами и «средняя прибыль» - средние различия между значениями. Но, насколько я знаю, «средства должны быть одинаковыми и не зависеть от количества шагов». Но это не в этом коде. И я не знаю, правильно ли я рассчитал, чтобы доказать, что эти процессы мартингалы.