lumen-fx
v1.0.8
Published
LumenFX Foreign Exchange System
Downloads
25
Readme
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)
License
Copyright (C) 2015 thecitysecret
LumenFX is released as Open Source Software under the Apache 2.0