Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bfx-hf-algo

Package Overview
Dependencies
Maintainers
4
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bfx-hf-algo

HF Algorithmic Order Module

  • 4.3.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

Bitfinex Honey Framework Algorithmic Order Library for Node.JS

Build Status

For a description of the included algo orders, see our user docs

Installation

npm i --save bfx-hf-algo
npm i --save bfx-hf-models
npm i --save bfx-hf-ext-plugin-bitfinex
npm i --save bfx-hf-models-adapter-lowdb

Quickstart & Example

To get started, create an object wsSettings required for AOAdapter, then pass them to a new AOHost instance and call startAO(id, args):

const {
  AOHost, PingPong, Iceberg, TWAP, AccumulateDistribute, MACrossover
} = require('bfx-hf-algo')

const HFDB = require('bfx-hf-models')
const HFDBLowDBAdapter = require('bfx-hf-models-adapter-lowdb')
const {
  schema: HFDBBitfinexSchema
} = require('bfx-hf-ext-plugin-bitfinex')

const algoDB = new HFDB({
  schema: HFDBBitfinexSchema,
  adapter: HFDBLowDBAdapter({
    dbPath: path.join(__dirname, '..', 'db', 'example.json')
  })
})

const host = new AOHost({
  aos: [PingPong, Iceberg, TWAP, AccumulateDistribute, MACrossover],
  wsSettings: {
    apiKey: '...',
    apiSecret: '...',
    // Authentication with auth tokens is available as an alternative for API credentials
    // authToken,
    dms: 4
  }
})

host.on('ao:state:update', async (updateOpts) => {
  // send ui updates
})

host.on('auth:error', (packet) => {
  console.log('error authenticating: %j', packet)
})

host.on('error', (err) => {
  console.log('error: %s', err)
})

host.once('ready', async () => {
  // Start an Iceberg order instance
  const [serialized] = await host.startAO('bfx-iceberg', {
    symbol: 'tBTCUSD',
    price: 21000,
    amount: -0.5,
    sliceAmount: -0.1,
    excessAsHidden: true,
    orderType: 'LIMIT',
    _margin: false,
  })

  // later, host.stopAO(gid)
})

Docs

Refer to the docs/ folder for JSDoc-generated API documentation.

Benchmarking

Environment variables API_KEY and API_SECRET must be defined (in paper mode) Run npm run benchmark:mock and keep it running in a separate terminal Run TARGET=<benchmark name> npm run benchmark:run to generate the reports (destination folder is ./benchmarks_reports), where TARGET is name of JS file in the root of test/benchmarks folder

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Keywords

FAQs

Package last updated on 08 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc