VoFarm - Volatility Farming
A peer 2 peer approach to increase price stability and to reduce price manipulation by exploiting non-fundamentals-based volatility.
This module leverages web3 and the exchange connectors.
Open Source Developers are invited to propose further strategies via Pull Requests.
Usage Examples Regarding Strategies Reuse
Via Commandline
deno run https://deno.land/x/vofarm/usage-example.ts
Via Your Own Code
import { LongShortExploitStrategy } from "./src/long-short-exploit-strategy.ts";
const longShortExploitStrategy: LongShortExploitStrategy = new LongShortExploitStrategy()
const testInput1 = {
accountInfo: { result: { USDT: { available_balance: 100, equity: 100 } } },
positions: [],
}
let investmentAdvices = await longShortExploitStrategy.getInvestmentAdvices(testInput1)
console.log(`\ngiven testInput1, this strategy recommends to: ${JSON.stringify(investmentAdvices)}`)
const testInput2 = {
accountInfo: { result: { USDT: { available_balance: 100, equity: 100 } } },
positions: [
{ data: { side: "Buy", symbol: 'BTCUSDT', size: 0.01, position_value: 500, leverage: 100, unrealised_pnl: -20 } },
{ data: { side: "Sell", symbol: 'BTCUSDT', size: 0.01, position_value: 500, leverage: 100, unrealised_pnl: 1 } }],
}
investmentAdvices = await longShortExploitStrategy.getInvestmentAdvices(testInput2)
console.log(`\ngiven testInput2, this strategy recommends to: ${JSON.stringify(investmentAdvices)}`)
Via Comandline Unit Tests Execution
deno test https://deno.land/x/vofarm/src/long-short-exploit-strategy.spec.ts
Usage Examples Regarding Centralized Volatility Farming
deno run --allow-net src/start-centralized-vofarming.ts <yourbybitapikey> <yourbybitapisecret> <yourmongodbuser> <yourmongodbpw> LongShortExploitStrategy BybitConnector MongoService <yourmongodbhostip> <yourmongodbport> VFLogger
Usage Examples Regarding Decentralized Volatility Farming
... under construction on Arbitrum ...
Unit Tests
For further examples you might want to check some - e.g. unit tests