tdf-nodejs-trader v0.3.0
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)
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)
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)
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)
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.