tdf-nodejs-trader

0.3.0 • Public • Published

tdf-nodejs-trader

Description: NodeJS client for the Tour de Finance platform.

Install

npm install tdf-nodejs-trader

Usage

var tdfTrader = require('tdf-nodejs-trader');
 
tdfTrader.defaults.hostname = 'ideaquant.cs.byu.edu';
 
tdfTrader.currentStatus().then(function (status) {
  console.log(status);
});

API

tdfTrader#defaults

Description: Defaults tdfTrader should use.

Properties:

  • {string} - protocol - Protocol to use. Default: "http".
  • {string} - hostname - Hostname to use. Default: "localhost".
  • {number} - port - Port to use. Default: 80.

tdfTrader#trade(securities, options[, cb])

Description: Trade the given securities.

Signature: tdfTrader#trade(securities, options[, cb])

Examples:

Node-style:

 tdfTrader.trade([
     {
         symbol: 'GOOG',
         amount: 24 // but 24 shares of 'GOOG'
     },
     {
         symbol: 'FB',
         amount: -30 // Sell 30 shares of 'FB'
     }
 ], { agentId: '1234', apiKey: '5678' }, function (err, status) {
     if (err) {
         // handle error
     } else {
         console.log(status);
     }
 );

Promise-style:

 tdfTrader.trade([
     {
         symbol: 'GOOG',
         amount: 24 // but 24 shares of 'GOOG'
     },
     {
         symbol: 'FB',
         amount: -30 // Sell 30 shares of 'FB'
     }
 ], { agentId: '1234', apiKey: '5678' })
     .then(function (status) {
         console.log(status);
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {object} - options - Configuration options. Properties:
    • {string} - agentId - The id of the agent for which to retrieve the status.
    • {string} - apiKey - The API key of the agent's owner.
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

tdfTrader#agentStatus(options[, cb])

Description: Return the status of the agent with the given agent id.

Signature: tdfTrader#agentStatus(options[, cb])

Examples:

Node-style:

 tdfTrader.agentStatus({ agentId: '1234', apiKey: '5678' }, function (err, status) {
     if (err) {
         // handle error
     } else {
         console.log(status);
     }
 );

Promise-style:

 tdfTrader.agentStatus({ agentId: '1234', apiKey: '5678' })
     .then(function (status) {
         console.log(status);
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {object} - options - Configuration options. Properties:
    • {string} - agentId - The id of the agent for which to retrieve the status.
    • {string} - apiKey - The API key of the agent's owner.
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

tdfTrader#securities([options][, cb])

Description: Return the list of available securities.

Signature: tdfTrader#securities([options][, cb])

Examples:

Node-style:

 tdfTrader.securities(function (err, securities) {
     if (err) {
         // handle error
     } else {
         console.log(securities.length); // 500
     }
 );

Promise-style:

 tdfTrader.securities()
     .then(function (securities) {
         console.log(securities.length); // 500
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {object=} - options - Configuration options. Properties:
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

tdfTrader#history(symbol[, options][, cb])

Description: Return the history for a single security.

Signature: tdfTrader#history([options][, cb])

Examples:

Node-style:

 tdfTrader.history('GOOG', function (err, history) {
     if (err) {
         // handle error
     } else {
         console.log(history);
     }
 );

Promise-style:

 tdfTrader.history('GOOG')
     .then(function (history) {
         console.log(history);
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {string} - symbol - The symbol of the security for which to retrieve the history.
  • {object=} - options - Configuration options. Properties:
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

tdfTrader#currentStatus([options][, cb])

Description: Return the current status of all securities.

Signature: tdfTrader#currentStatus([options][, cb])

Examples:

Node-style:

 tdfTrader.currentStatus(function (err, status) {
     if (err) {
         // handle error
     } else {
         console.log(typeof status); // "object"
     }
 );

Promise-style:

 tdfTrader.currentStatus()
     .then(function (status) {
         console.log(typeof status); // "object"
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {object=} - options - Configuration options. Properties:
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

tdfTrader#allHistories([options][, cb])

Description: Retrieve all available price histories.

Signature: tdfTrader#allHistories([options][, cb])

Examples:

Node-style:

 tdfTrader.allHistories(function (err, histories) {
     if (err) {
         // handle error
     } else {
         console.log(typeof histories); // "array"
     }
 );

Promise-style:

 tdfTrader.allHistories()
     .then(function (histories) {
         console.log(typeof histories); // "array"
     })
     .catch(function (err) {
         // handle error
     });

Parameters

  • {object=} - options - Configuration options. Properties:
    • {string=} - protocol - Protocol to use. Default: tdfTrader#defaults.protocol || "http".
    • {string=} - hostname - Hostname of TDF platform to use. Default: tdfTrader#defaults.hostname || "localhost".
    • {string=} - port - Port of TDF platform to use. Default: tdfTrader#defaults.port || 80.
  • {function=} - cb - Optional callback for Node-style usage.

Returns: Promise

Copyright (C) 2014 BYU Idea Labs

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Readme

Keywords

none

Package Sidebar

Install

npm i tdf-nodejs-trader

Weekly Downloads

0

Version

0.3.0

License

none

Last publish

Collaborators

  • jdobry