3Qu
3Qu личный блог
09 мая 2020, 19:31

Моделирование Торговых Систем на Python. 1.

Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.

Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.

Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.

И еще один Python — Miniconda. Это просто минимальный установщик Anaconda, и здесь тоже все нужное устанавливаем сами — пакеты, среды разработки и пр.

Теперь среда разработки. На мой взгляд, здесь лучшим является Spyder. Он автоматом устанавливается вместе с Anaconda, и сразу готов к работе. Запускать его лучше из Anaconda Navigator, тогда отпадает надобность в его конфигурировании. Если запустить Spyder непосредственно из меню «Пуск», то, чтобы нормально работать, при первом запуске с конфигурацией придется повозиться.

Если вы выбрали другие, нежели Anaconda, дистрибутивы Python, то Spyder или другие среды придется устанавливать и конфигурировать вручную. Spyder можно скачать здесь — https://www.spyder-ide.org/. Для установки без Anaconda придется повозиться.

И теперь, чтобы сразу после установки Python вам было чем заняться — вишенка на торте.
Трейдеры часто сравнивают историю котировок рыночных инструментов со случайным блужданием. В приложенной программе генерируется последовательность случайного блуждания и отображается на графике. Все параметры можно выставить самим.

# -*- coding: utf-8 -*-
"""
2020-05-09
Spyder Editor

"""

import numpy as np
import matplotlib.pyplot as plt

mu=0 #матожидание
sigma=10 # стандартное отклонение
N=50000 # длина последовательности

# нормально распределенная случ последовательность
normrand = np.random.default_rng().normal(mu, sigma, N)

rw=[]
# создаем случ блуждание
for i in range(0,N):
    if i==0:
        rw.append(10000+normrand[i])
    else:
        rw.append(rw[i-1] + normrand[i])

# начало графика от 0 до 50000
Ib = 100      
# конец графика 0 до 50000
Ie=1100
# создаем последовательности для отображения на графике
Ig =[]
normrand_g =[]
rw_g =[]

for i in range(Ib,Ie):
    Ig.append(i)
    normrand_g.append(normrand[i])
    rw_g.append(rw[i])
    
# график нормального случ. процесса
plt.plot(Ig,normrand_g) # рисуем график
plt.grid() # рисуем сетку
plt.show() # отображаем

#график случайного блуждания
plt.plot(Ig,rw_g)
plt.grid()
plt.show()


Для работы в папке Документы заводим папку PythonProject. В ней еще папку SmartLab. В Spyder создаем новый файл, называем его randomwalk.py, копируем в него текст программы, и сохраняем. Теперь можно запускать.
Должно получиться вот это:
Моделирование Торговых Систем на Python. 1.Моделирование Торговых Систем на Python. 1.

При каждом запуске программы картинки будут разные. Случайный процесс все таки.)

Удачи.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
34 Комментария
  • Так по 9800 надо было брать? А я возьму по 9850 — когда тренд покажет разворот.
  • Replikant_mih
    09 мая 2020, 20:16
    Мне PyCharm нравится, он тупо красивый)). Ну и по функциональности вполне устраивает.
  • JoeFox
    09 мая 2020, 21:26
    Спасибо, я уже понял, что у меня косяк

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн