/go-exchange-api

Прокладка для получения данных с MOEX и SPBEX для использования с Portfolio Performance.

Primary LanguageGo

go-exchange-api

Проект для получения данных с бирж MOEX и SPBEX для использования с Portfolio-Performance.

Видео об этом

Portfolio Performance

Ограничения

Для биржи Moex требуется использовать Redis для кеширования истории цен. Также для нее данные запаздывают на 20 минут относительно торгов.

Как развернуть

Проще всего использовать docker:

docker compose up -d
version: '3'

services:
  redis-cache:
    image: redis:7-alpine
    volumes:
      - redis:/data
    healthcheck:
      test: [ "CMD-SHELL", "redis-cli ping | grep PONG" ]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s

  exchange-api:
    image: kotasha/go-exchange-api:latest
    environment:
      EXCHANGE_API_REDIS: redis://redis-cache:6379/0
    ports:
      - 8080:8080/tcp
    depends_on:
      - redis-cache
    healthcheck:
      test: [ "CMD-SHELL", "./healthcheck" ]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s

volumes:
  redis:

Как проверить

curl http://localhost:8080/moex/sber | jq

Test

Вместо биржи moex также можно использовать spbex.

Как настроить Portfolio Performance

Во вклакде All Securities нажимаем знак , а затем Empty instrument.

Empty instrument

На вкладке Security Master Data заполняем название актива, бумагу и тикер.

Description

На вкладке Historical Quotes выбираем Provider: JSON и заполняем поля:

Feed URL:           http://localhost:8080/moex/{TICKER}
Path to Date:       [*].date
Path to Close:      [*].close
Path to Day's Low:  [*].low
Path to Day's High: [*].high
Path to Volume:     [*].volume

Security Parameters

Результат:

Result