GithubHelp home page GithubHelp logo

bitbot's People

Contributors

phildeutsch avatar

Stargazers

 avatar

Watchers

 avatar  avatar

bitbot's Issues

performance.py

File is outdated. Rewrite to include new class structure.

Bildchen

Es sollte automatisch ein Bild mit den letzen Werten geneieriert wertden. Evtl google APIß

Behaviour when suspended

Wenn suspend == 1, dann sollte auch coinsToTrade immer auf 0 gesetzt werden (damit das logfile und der plot stimmt).

arbitrage

add usd to portfolio and market data

duplicate everything for usd?! how do i need to change the trader classe?

come up with strategy.

OO <> Funktionen

Überdenken, welche Funktionen Objektfunktionen sein sollen, und welche Standalone. Welche Funktionen muss Trader, Portfolio bzw Marktdaten haben?

Error logging and reporting

Am Ende der Hauptschleife sollte ein Fehlercheck stattfinden, alle Fehler sollten

  1. gelogt werden
  2. als email versendet werden

Bid/ask im plot

Bid/ASK sind im plot vertauscht
Head.txt usw sollten in source sein

Panic modul

Preis mit dem letzten preis vergleichen. Wenn die Differenz zu groß ist - alles verkaufen.

Email alerts

from smtplib import SMTP_SSL as SMTP
import sys
from email.mime.text import MIMEText

text = 'sent from python'
msg = MIMEText(text, 'plain')
recipient = '[email protected]'
sender = '[email protected]'
msg['Subject'] = "test email"
msg['To'] = recipient
msg['From'] = sender
conn = SMTP('smtpout.europe.secureserver.net')
conn.login(sender, 'Dezember2013')
conn.sendmail(sender, recipient, msg.as_string())
conn.close()

Balance

Mehrere exchanges - Portfolio status auf den Börsen und Möglichkeit die Verteilung zu balancieren

Funding.csv

Enthält Informationen zu Investments je Kunde

Time, CID, amount

Tradesize

Tradesize needs to change depending on the value of the portfolio

Längerer Backtest

Historische Zeitreihen extern runterladen und für backtest formatieren.

Dadurch kann man einen Backtest für längeren Zeithorizont (Monate / Jahre) durchführen.

eur -> usd

change from btc/eur trading to btc/usd trading

Monte Carlo

Monte Carlo Simulation basierend auf historischen Parametern.

Sollte zusätzlich zum backtesting implementiert werden.

Kundenperformance

Performance muss auf kundenebene gerechnet werden
Performance sollte Portfolio wert ausgeben (pro Tag)

Ordner "log"

Enthält alles, was bitbot schreibt:
log.csv
logTrades.csv
status.txt
plot.html

int data/ bleiben transfer.dat, cust.dat, backtestdaten usw

Risk management

Wie ist Risikomanagement implementiert?
Stop loss? Var? Recherche

Update von status.txt

Alle trader informationen sollten in status gegeben sein, d.h. die aktuellen Werte von allen Variablen.

Cust.dat

Speichert kundeninfo

CID, Name, email

Arbitrage

Wie kann man am besten Preisunterschiede ausnutzen

Withdrawals

Irgendwas passt nicht mit den incoming/outgoing cashflows.

Zweiter Teil der Strategie

Es sollte nur mit x Prozent getraded werden (ca 80%).

Die restlichen (1-x)% bleiben in EUR, und werden verwendet um zu traden wenn der Preis innerhalb eines Tages (?) um y% (~20%?) einbricht.

performance backtest

Total performance ist falsch: Zeigt negativen Wert an, obwohl bt performance positiv war.

Zweite Börse

Börsen sollten unabhängig voneinander handeln. Das heißt bei N Börsen:

N marketData Instanzen
N trader Instanzen
N Portfolio Instanzen

Und Schleife innerhalb Main loop

Initializing deque

priceHistory deque should be initialized automatically if enough data is available in history.csv

B&h in bbperformance

Sollte nur am preis berechnet werden (und nicht Wechsel in eur und zurück berücksichtigen)

Suspend trading

When reaching stop loss, trading should be suspended (not everything sold off at once).

withdrawal.py

File is outdated.

Update to incorporate new class structure.

Cleanup

Ein paar settings werden nicht verwendet:

middistance, midprice, tradefactor. Die sollten gelöscht werden.

Stop loss

Verkaufe alles bei bid < minPrice

test flag

es sollte eine möglichkeit geben, in bitbot testen zu flaggen, sodass nicht gehandelt wird.

Cleanup backtest

shout be a callable function:

def backtest(settings, logfileName, logfileNameBT)
....
return 0

Momentum

Function commented out atm.

Check behaviour and test different time horizons for moving average

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.