Il seguente programma Python utilizza l’AI per prevedere il prezzo di BTC utilizzando un algoritmo di regressione lineare. Utilizziamo la libreria scikit-learn per addestrare il modello e prevedere i prezzi futuri.
Copy codeimport pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# Caricamento dei dati in un dataframe di pandas
df = pd.read_csv("btc_prices.csv")
# Dividiamo i dati in features e target
X = df[["Open", "High", "Low", "Volume"]]
y = df["Close"]
# Dividiamo i dati in un set di addestramento e uno di test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Creiamo un oggetto di regressione lineare
reg = LinearRegression()
# Addestriamo il modello sui dati di addestramento
reg.fit(X_train, y_train)
# Utilizziamo il modello per fare previsioni sui dati di test
y_pred = reg.predict(X_test)
# Stampiamo il coefficiente di determinazione R^2 del modello
print("R^2: ", reg.score(X_test, y_test))
# Utilizziamo il modello per fare previsioni sui prezzi futuri
future_prices = reg.predict([[7000, 7200, 6900, 15000000]])
print("Prezzo previsto per BTC: ", future_prices[0])
Il codice utilizza un dataset contenente i prezzi di apertura, massimi, minimi e volumi di BTC per addestrare il modello di regressione lineare. Utilizziamo il metodo “fit” per addestrare il modello sui dati di addestramento, e il metodo “predict” per fare previsioni sui prezzi futuri di BTC. Inoltre, utilizziamo il metodo “score” per calcolare il coefficiente di determinazione R^2 del modello, che ci indica quanto bene il modello è in grado di fare previsioni sui dati di test.
Reperimento dati
Il file CSV utilizzato nel codice di esempio è un file di testo semplice che contiene i prezzi di BTC organizzati in un formato tabellare. In particolare, il file CSV potrebbe avere un formato simile al seguente:
Copy codeDate,Open,High,Low,Close,Volume
2020-01-01,7000,7200,6900,7100,15000000
2020-01-02,7100,7300,6950,7200,20000000
2020-01-03,7200,7400,7100,7300,25000000
2020-01-04,7300,7500,7200,7400,30000000
2020-01-05,7400,7600,7300,7500,35000000
In cui ogni riga rappresenta i prezzi di un giorno specifico, e le colonne rappresentano i dati relativi a quel giorno (data, prezzo di apertura, massimo, minimo, chiusura e volume). Il separatore utilizzato è la virgola (“,”).
Nel codice di esempio, utilizziamo la libreria pandas per leggere il file CSV e creare un DataFrame. Utilizziamo poi il DataFrame per estrarre i dati e utilizzarli per addestrare e testare il modello.
File tipo quello mostrato nell’esempio potrebbe essere scaricato da molti servizi che offrono dati sulla finanza in modo completamente gratuito come:
Nota: il programma è solo un esempio generico e non si garantisce che funzioni con i dati attuali e con i prezzi futuri di BTC. Inoltre, per ottenere una previsione più precisa potrebbe essere necessario utilizzare un dataset più grande e un algoritmo di previsione più sofisticato.