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
    Спасибо, я уже понял, что у меня косяк

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

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