GithubHelp home page GithubHelp logo

jeltok / lumen-fx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gitter-badger/lumen-fx

0.0 2.0 0.0 754 KB

Lumen FX platform

License: Apache License 2.0

JavaScript 89.96% CSS 4.67% HTML 5.37%

lumen-fx's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.