Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

lumen-fx

1.0.8 • Public • Published

LumenFX

Introduction

LumenFX is an interactive platform that supports real-time financial data visualization, as well as historical data lookup for sparklines and OHLC charts. It executes simple trading rules in real time with an automated trade engine which also executes limit and stop orders. This application was written with Node.JS, SenecaJS and AngularJS.

This application retrieves live rates from Yahoo and OANDA, it can subscribe to multiple source depending on which currency pairs are available from the sources. This applications receives the data from other sources and publish it into its' own API with SenecaJS to be used by other services.

LumenFX is released as Open Source Software under the Apache 2.0 licence

SenecaJS Microservices

Price Service

  • Initialises the currency pairs with day high and day low
  • Retrieves prices from multiple sources
  • Persists data into InfluxDB
  • An automated execution engine that match open orders
  • An automated execution engine that triggers stop or limit orders and executes them

Order Service

  • Inserts order into CouchDB
  • Retrieves the trader's saved currency pairs to show upon starting the app

Historical Service

  • Retrieves data from InfluxDB to show a live trend of the day chart
  • Retrieves data from InfluxDB to populate OHLC charts.

Login Service

  • Creates new trader and insert into CouchDB
  • Authenticates users
  • Saves the trader's trading limits

Initialisedb Service

  • Creates the tables for CouchDB database
  • Creates the views for quering purposes

FixMessage Service

  • Builds fix messages to and from orders
  • Parses fix messages to and from orders

Dependencies:

Configuration:

  • OANDA API Access Token /public/config/OANDAConfig.js
  • Influx Database Configurations /public/config/influxDBConfig.js
  • Currency Subscriptions /public/config/currencySubscriptions.js
  • Host /public/config/host.js

Getting started

Install NodeJS

Install CouchDB

Install InfluxDB

Install application dependencies

npm install

Edit Configuration files

  • Include OANDA Authentication
  • Influx Database Configurations
  • Currency Subscriptions
  • Host

Initialise CouchDB with tables and design views

node initialisedb-service.js

Start the application with PM2

pm2 start ecosystem.json

Or

Run Standalone Services

node order-service.js
node price-service.js
node historical-service.js
node login-service.js
node app-all.js

The Application will start automatically

Login with demo account or Register a new account

  • username : demo
  • password : password

Test

The tests will fail if the application cannot start in test mode on the default port, so make sure no other instances are running on the same port before running the tests.

npm test

Team

LumenFX is built and maintained by thecitysecret(@thecitysecretltd) thecitysecretltd

License

Copyright (C) 2015 thecitysecret

LumenFX is released as Open Source Software under the Apache 2.0

install

npm i lumen-fx

Downloadsweekly downloads

24

version

1.0.8

license

Apache-2.0

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar