A tudományos Python számításokhoz a nyelv egy rendkívül hatékony ökoszisztémát kínál, amely főként nyílt forráskódú könyvtárakon alapul. Ezekkel a matematikai modellezés, a nagy adathalmazok elemzése és a vizualizáció is könnyedén elvégezhető.Alapvető könyvtárakNumPy: A tudományos számítások alapköve. Hatékony, többdimenziós tömböket (array) és lineáris algebrai, valamint Fourier-transzformációs műveleteket biztosít.SciPy: A NumPy-ra épül, és fejlett matematikai algoritmusokat kínál, mint például integrálás, differenciálegyenletek megoldása, optimalizálás és jelfeldolgozás.Pandas: Nélkülözhetetlen eszköz az adatok manipulálásához és elemzéséhez. Különösen erős táblázatos és idősoros adatok kezelésében.Matplotlib & Seaborn: Hatékony könyvtárak adatok vizualizációjára. Segítségükkel grafikonok, diagramok és hőtérképek rajzolhatók közvetlenül a számítási eredményekből.SymPy: Szimbolikus matematikához használható könyvtár, amellyel algebrai kifejezések egyszerűsíthetők, deriválhatók és integrálhatók pontos formában.Népszerű fejlesztői környezetekA tudományos kódok írásához és teszteléséhez a kutatók leggyakrabban az alábbi környezeteket használják:Jupyter Notebook: Egy interaktív webes felület, amely lehetővé teszi, hogy a kódokat, azok kimeneteit (szöveges és grafikus formában), valamint a magyarázatokat egyetlen dokumentumban egyesítsük.Google Colab: Egy felhőalapú Jupyter környezet, amely ingyenes hozzáférést biztosít nagy számítási kapacitáshoz (GPU/TPU) és előre telepített tudományos csomagokhoz.
Automatizált kriptokereskedési bot
------------------
import pandas as pd
import time
import random
SYMBOL = "BTCUSDT"
AMOUNT = "0.001"
RSI_PERIOD = 14
RSI_OVERBOUGHT = 70
RSI_OVERSOLD = 30
def get_historical_data(symbol, interval='1h', limit=100):
prices = [50000 + random.uniform(-1500, 1500) for _ in range(limit)]
df = pd.DataFrame({"close": prices})
return df
def calculate_rsi(data, period=14):
delta = data['close'].diff()
gain = delta.where(delta > 0, 0).rolling(window=period).mean()
loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean()
rs = gain / loss
rsi = 100 - (100 / (1 + rs))
return rsi
def execute_trade(symbol, side):
print(f"{side} megbízás szimulálva: {symbol}, mennyiség: {AMOUNT}")
def run_bot():
print("Bot elindítva. Szimulált piac figyelése...")
for _ in range(5):
df = get_historical_data(SYMBOL)
if df is not None and len(df) >= RSI_PERIOD:
df['rsi'] = calculate_rsi(df, RSI_PERIOD)
current_rsi = df['rsi'].iloc[-1]
current_price = df['close'].iloc[-1]
print(f"Aktuális ár: {current_price:.2f} USDT | RSI: {current_rsi:.2f}")
if current_rsi < RSI_OVERSOLD:
print("Túladott jelzés (Oversold)! Vásárlás indítása.")
execute_trade(SYMBOL, 'BUY')
elif current_rsi > RSI_OVERBOUGHT:
print("Túlvett jelzés (Overbought)! Eladás indítása.")
execute_trade(SYMBOL, 'SELL')
time.sleep(1)
if __name__ == "__main__":
run_bot()
------------------
Bot elindítva. Szimulált piac figyelése...
Aktuális ár: 50005.43 USDT | RSI: 50.68
Aktuális ár: 48799.39 USDT | RSI: 50.64
Aktuális ár: 50946.77 USDT | RSI: 57.57
Aktuális ár: 50651.00 USDT | RSI: 47.77
Aktuális ár: 51060.46 USDT | RSI: 58.72
-----------------
Nincsenek megjegyzések:
Megjegyzés küldése