Skip to content

Volume-weighted average price (VWAMP) calculation engine

License

Notifications You must be signed in to change notification settings

trsmarc/vwap-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volume-weighted average price (VWAMP) calculation engine

About the project

The goal of this project is to create a real-time VWAP (volume-weighted average price) calculation engine which pull coinbase websocket feed to stream in trade executions and update the VWAP for each trading pair as updates become available.

Design

This project follows the Clean architecture convention.

Getting started

Prerequisites

Start application

Run using Go

make run // to start application
make test // to run all the tests

Run using Docker

make docker-build
make docker-run
make docker-test

Layout

├── .gitignore
├── CHANGELOG.md
├── Makefile
├── README.md
├── service
│   └── vamp.service.go
├── release
│   ├── template-admin.yaml
│   └── template-controller.yaml
├── test
│   ├── README.md
│   └── test_make.sh
└── external
    ├── notifier
    └── provider

A brief description of the layout:

  • .gitignore varies per project, but all projects need to ignore bin directory.
  • CHANGELOG.md contains auto-generated changelog information.
  • README.md is a detailed description of the project.
  • pkg places most of project business logic.
  • test holds all tests.
  • external for all external services i.e. feed data provider and notifier.

Notes

  • Makefile MUST NOT change well-defined command semantics, see Makefile for details.