Marktkapitalisierung: $3.1669T -1.900%
Volumen (24h): $139.9057B 53.320%
  • Marktkapitalisierung: $3.1669T -1.900%
  • Volumen (24h): $139.9057B 53.320%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $3.1669T -1.900%
Cryptos
Themen
Cryptospedia
Nachricht
CryptosTopics
Videos
Top News
Cryptos
Themen
Cryptospedia
Nachricht
CryptosTopics
Videos
bitcoin
bitcoin

$98433.185399 USD

1.59%

ethereum
ethereum

$2763.459218 USD

1.27%

xrp
xrp

$2.668025 USD

-0.54%

tether
tether

$1.000217 USD

0.02%

bnb
bnb

$653.708822 USD

0.95%

solana
solana

$175.851956 USD

2.55%

usd-coin
usd-coin

$0.999920 USD

0.00%

dogecoin
dogecoin

$0.253731 USD

-0.29%

cardano
cardano

$0.797338 USD

1.97%

tron
tron

$0.250127 USD

5.04%

chainlink
chainlink

$18.347549 USD

1.13%

sui
sui

$3.505087 USD

6.65%

avalanche
avalanche

$25.192409 USD

5.07%

stellar
stellar

$0.339360 USD

-0.30%

litecoin
litecoin

$133.960706 USD

3.07%

Nachrichtenartikel zu Kryptowährungen

Krypto-Backtesting mit Python: Eine Schritt-für-Schritt-Anleitung

Feb 21, 2025 at 04:06 pm

In diesem Leitfaden erstellen wir ein Krypto -Backtesting -Tool mit der Nutzung der Coingecko -API, mit der es einfach ist, verschiedene Handelsstrategien zu testen

Krypto-Backtesting mit Python: Eine Schritt-für-Schritt-Anleitung

This guide will help you build a crypto backtesting tool using the CoinGecko API. With this tool, you can easily test various trading strategies, ranging from simple price-based approaches like buying the dip to more complex strategies utilizing technical analysis and indicators.

Diese Anleitung hilft Ihnen beim Aufbau eines Krypto -Backtesting -Tools mit der Coingecko -API. Mit diesem Tool können Sie verschiedene Handelsstrategien problemlos testen, die von einfachen preisbasierten Ansätzen wie dem Kauf des DIPS bis hin zu komplexeren Strategien unter Verwendung technischer Analysen und Indikatoren reichen.

As always, you'll find a link to the GitHub repository at the end of the article, allowing you to dive right in and start experimenting.

Wie immer finden Sie einen Link zum Github -Repository am Ende des Artikels, sodass Sie direkt eintauchen und mit dem Experimentieren beginnen können.

What is Crypto Backtesting?

Was ist Crypto Backtesting?

In the world of trading, crypto backtesting refers to the process of evaluating a trading strategy using historical market data to assess how it would have performed in the past.

In der Welt des Handels bezieht sich Crypto Backtesting auf den Prozess der Bewertung einer Handelsstrategie anhand historischer Marktdaten, um zu beurteilen, wie sie in der Vergangenheit funktioniert hätte.

This enables traders to gauge the profitability, risk, and overall effectiveness of a strategy before deploying it in live trading. By simulating trades based on past data, traders can refine their approach, identify potential weaknesses, and gain confidence in their strategy without risking real money.

Auf diese Weise können Händler die Rentabilität, das Risiko und die Gesamtwirksamkeit einer Strategie messen, bevor sie im Live -Handel eingesetzt wird. Durch die Simulation von Trades, die auf früheren Daten basieren, können Händler ihren Ansatz verfeinern, potenzielle Schwächen identifizieren und Vertrauen in ihre Strategie gewinnen, ohne echtes Geld zu riskieren.

Pre-requisites

Voraussetzungen

Before we start building our crypto backtesting tool, we'll need the following:

Bevor wir mit dem Aufbau unseres Krypto -Backtesting -Tools beginnen, benötigen wir Folgendes:

To obtain a CoinGecko API key, head over to the Developer’s Dashboard and click on +Add New Key in the top right corner. For detailed instructions on generating and setting up your key, refer to this guide.

Um eine Coingecko -API -Taste zu erhalten, besuchen Sie das Dashboard des Entwicklers und klicken Sie auf +neue Schlüssel in der oberen rechten Ecke. Ausführliche Anweisungen zum Generieren und Einrichten Ihres Schlüssels finden Sie in diesem Handbuch.

We'll be using the OHLC Chart within Time Range endpoint to fetch historical prices, which is available on the Analyst plan and above. For a free alternative, you may use this endpoint instead. The only difference is that, on the Demo endpoint, you cannot specify a time range.

Wir werden das OHLC -Diagramm innerhalb des Zeitbereichs Endpunkt verwenden, um historische Preise zu erzielen, die für den Analyst -Plan und höher verfügbar sind. Für eine kostenlose Alternative können Sie diesen Endpunkt stattdessen verwenden. Der einzige Unterschied besteht darin, dass Sie auf dem Demo -Endpunkt keinen Zeitbereich angeben können.

Step 1. Set Up Your Environment

Schritt 1. Richten Sie Ihre Umgebung ein

To get started, create an empty directory, which will serve as the root of your project. Within the root directory, let's create a new virtual environment that will allow us to install our requirements locally, without making any changes to the global Python environment.

Erstellen Sie ein leeres Verzeichnis, das als Wurzel Ihres Projekts dient. Lassen Sie uns im Root -Verzeichnis eine neue virtuelle Umgebung erstellen, die es uns ermöglicht, unsere Anforderungen lokal zu installieren, ohne Änderungen an der globalen Python -Umgebung vorzunehmen.

Let’s now configure our Python application. Run the following commands to create and activate your environment:

Konfigurieren wir nun unsere Python -Anwendung. Führen Sie die folgenden Befehle aus, um Ihre Umgebung zu erstellen und zu aktivieren:

If you're using VS Code, your IDE may also ask you if you’d like to use the local Python compiler – choose yes.

Wenn Sie VS -Code verwenden, kann Ihre IDE Sie auch fragen, ob Sie den lokalen Python -Compiler verwenden möchten. Wählen Sie Ja.

Installing Requirements

Anforderungen installieren

We’re now ready to install our project’s requirements. The easiest way to do this is by copying the file below to your root directory in a file called requirements.txt and then running pip install -r requirements.txt.

Wir sind jetzt bereit, die Anforderungen unseres Projekts zu installieren. Der einfachste Weg, dies zu tun, besteht darin, die unten stehende Datei in Ihrem Stammverzeichnis in einer Datei namens Required.txt zu kopieren und dann die PIP -Installation -r -Anforderungen.txt auszuführen.

Installing Ta-Lib (Optional)

TA-Lib installieren (optional)

There is one more requirement that we need to install: ta-lib. This is a fantastic Python library for calculating indicator values from raw data. Unlike the requirements above, ta-lib requires us to use the release files and build the package ourselves, otherwise, it will error during installation.

Es gibt noch eine weitere Anforderung, die wir installieren müssen: Ta-Lib. Dies ist eine fantastische Python -Bibliothek zur Berechnung von Indikatorwerten aus Rohdaten. Im Gegensatz zu den oben genannten Anforderungen verlangt Ta-Lib, die Release-Dateien zu verwenden und das Paket selbst zu erstellen. Andernfalls wird es während der Installation fehlerhaft sein.

Head over to the project’s release page and select a version that matches your OS, CPU architecture, and Python version. For instance, I’m running 64-bit Windows 11 with Python 3.11 and an x86 CPU architecture. The correct release for me was ta_lib-0.6.0-cp311-cp311-win_amd64.whl.

Besuchen Sie die Release -Seite des Projekts und wählen Sie eine Version aus, die mit Ihrem Betriebssystem, Ihrer CPU -Architektur und Ihrer Python -Version entspricht. Zum Beispiel leite ich 64-Bit-Windows 11 mit Python 3.11 und einer X86-CPU-Architektur aus. Die korrekte Veröffentlichung für mich war ta_lib-0.6.0-cp311-cp311-win_amd64.whl.

To run this on a Macbook with Python 3.11 and an M1 chip or higher, you may use the following release: ta_lib-0.6.0-cp311-cp311-win_arm64.whl. Once you have downloaded the correct version for your machine, drop the file inside your project root. From your project root, install the package using the file you just downloaded.

Um dies auf einem MacBook mit Python 3.11 und einem M1-Chip oder höher auszuführen, können Sie die folgende Version verwenden: TA_LIB-0.6.0-CP311-CP311-Win_ArM64.WHL. Sobald Sie die richtige Version für Ihren Computer heruntergeladen haben, lassen Sie die Datei in Ihr Projektstamm ab. Installieren Sie das Paket aus Ihrem Projektramm mithilfe der gerade heruntergeladenen Datei.

For instance: pip install ta_lib-0.6.0-cp311-cp311-win_amd64.whl. This should take care of all the project requirements.

Zum Beispiel: PIP Installation TA_LIB-0.6.0-CP311-CP311-Win_AMD64.WHL. Dies sollte sich um alle Projektanforderungen kümmern.

Create project scaffold

Projektgerüst erstellen

Inside your root directory, create the services and utils directories, alongside an empty .env file and an empty main.py file. It should look like so:

Erstellen Sie in Ihrem Root -Verzeichnis neben einer leeren .EnV -Datei und einer leeren Main.py -Datei die Dienste und Utils -Verzeichnisse. Es sollte so aussehen:

Inside your .env file, define a variable called CG_API_KEY and assign your CoinGecko API key as its value. We’ll use this to securely load the key into our app, without hardcoding it in the project files.

Definieren Sie in Ihrer .Env -Datei eine Variable namens CG_API_KEY und weisen Sie Ihre Coingecko -API -Schlüssel als Wert zu. Wir werden dies verwenden, um den Schlüssel sicher in unsere App zu laden, ohne ihn in den Projektdateien zu starten.

Step 2. Defining Utilities

Schritt 2. Definieren von Dienstprogrammen

Inside the utils directory that we defined, create a file called load_env.py. This will help us load our API key and define any additional configuration options that we may have.

Erstellen Sie im von uns definierten Utils -Verzeichnis eine Datei namens load_env.py. Dies hilft uns, unseren API -Schlüssel zu laden und alle zusätzlichen Konfigurationsoptionen zu definieren, die wir möglicherweise haben.

Note that in addition to our API Key, which we’re storing in cg_api_key, we’ve also defined some basic strategy settings such as a take_profit, a stop_loss, an order size, and a total_amount.

Beachten Sie, dass wir zusätzlich zu unserem API -Schlüssel, den wir in CG_API_KEY speichern, einige grundlegende Strategieeinstellungen wie ein Take_profit, ein Stopp_Loss, eine Bestellgröße und ein Total_Amount definiert haben.

Feel free to adjust these settings to suit your needs, and play around with different settings during backtesting to find the best combination of stop loss and take profit for your strategy.

Fühlen Sie sich frei, diese Einstellungen an Ihre Bedürfnisse anzupassen, und spielen Sie beim Backtesting mit unterschiedlichen Einstellungen, um die beste Kombination aus Stoppverlust zu finden und Gewinne für Ihre Strategie zu nehmen.

The backtesting library can behave unpredictably if the input amount is much smaller than the asset's price. To avoid this, we've set the amount high enough to prevent issues.

Die Backtesting -Bibliothek kann sich unvorhersehbar verhalten, wenn der Eingangsbetrag viel kleiner als der Preis des Vermögenswerts ist. Um dies zu vermeiden, haben wir den Betrag hoch genug gesetzt, um Probleme zu vermeiden.

Haftungsausschluss:info@kdj.com

Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!

Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.

Weitere Artikel veröffentlicht am Feb 22, 2025