Skip to content

piotr-yuxuan/welcome-base-api

Repository files navigation

welcome-base-api

Build status GitHub license GitHub issues

Non-figurative picture

Simple trading market place with arbitrary arithmetic precision computations, with an emphasis on tooling.

  • Build a simple simulation of stock exchanges;
  • Derive metadata such as metrics, indicators, and signals;
  • Use these metadata to inform trade strategies;
  • Show cycles of bank accounts creating artificial transaction volume.

Disclaimer: my financial vocabulary is still very naive. But still, it should allow to express some nice problems to solve :-)

Features

  • System desired features:
    • Horizontally scalable, and manage up to 20 years worth of data with no issues
    • Allow time travel
    • Be reasonably fast and efficient, but not necessary hard real time for analytics
    • Exposes robust, secure, well-documented RESTful API that is enjoyable to use and unsurprising.
  • Indicators to compute:
    • CAC40 index
    • Moving averages (pre-defined at first, and then any sliding windows)
    • Exponential moving average (emphasis put on recent prices)
    • Detect trading range (a more or less narrow price range in which a security trades for some time)
    • Buy and sell signals (relative position of 200-day and 50-day moving averages)
    • Volatility
    • Client sentiment (the proportion selling or buying)
  • Query features:
    • Historical, Godlike value, knowing everything anyywhere
    • As with the knowledge of some specific trader as of some (consume) time

Entities and verbs

Local definitions

  • Companies are listed on some exchanges
  • Companies issues shares and distribute dividends
  • An exchange gets fees on listing and transactions
  • An exchange can suspend listing of a company share if the sell / buy ratio becomes too imbalanced
  • Traders buy or sell shares, and get fees for that
  • Shareholders receive dividends from the company