Argomento
- #Il conto ISA non supporta le azioni estere
- #API di Korea Investment Securities
- #Aggiunta/rimozione di dati in tempo reale
- #Gestione dei websocket
Creato: 2024-04-23
Creato: 2024-04-23 00:00
Ho scritto meno del previsto sullo sviluppo dell'API di 한국투자증권 (Hankook Investment & Securities). Se i contenuti precedenti erano generali e di base, quello che scrivo ora riguarda le difficoltà e gli errori che ho incontrato durante il processo e come li ho risolti. Iniziamo dalle difficoltà, che ne dite?
Il trading azionario è difficile, ma creare un programma che lo automatizzi è ancora più difficile...
La prima difficoltà che ho incontrato, probabilmente specifica del mio caso, ㅠ_ㅠ, è stata l'apertura di un conto presso 한국투자증권 (Hankook Investment & Securities). Circa due settimane prima, per motivi simili, avevo aperto un conto presso Hana Securities, e questo mi ha impedito di creare immediatamente un conto non in presenza. Mi ero dimenticato del periodo di restrizione di 20 giorni. Tuttavia, dovevo comunque aprirne uno, quindi ho cercato una filiale di 한국투자증권 (Hankook Investment & Securities) nelle vicinanze e, fortunatamente, ne ho trovata una a circa 40 minuti di distanza (!), dove ho potuto aprire il conto.
In realtà, inizialmente avevo provato ad aprire un conto non in presenza, e mi era sembrato che trasferendo un conto ISA (Individual Savings Account) da un'altra banca, tutto si sarebbe risolto magicamente. Avrei dovuto informarmi meglio, ma ero di fretta nell'apertura del conto e ho accettato senza pensarci troppo. La creazione del conto è stata semplice, ho potuto richiedere l'API e ho verificato che i test dell'API nazionale funzionassero correttamente, ero felice...
Poi ho scoperto che per le operazioni di trading di azioni estere è necessaria una richiesta separata. Pensavo che, dato che il conto era stato creato, sarebbe stato automatico... ㅋㅋㅋㅋ Ho capito che con un conto ISA non è possibile fare trading di azioni estere. Pare che sia dovuto alle caratteristiche del conto ISA, ma non lo conoscevo bene e, sinceramente, non lo conosco ancora molto bene. Semplicemente, ho capito in questa occasione che con un conto ISA non si possono fare trading di azioni estere.
Comunque sia, sono andato in filiale ad aprire il conto, e il conto ISA è stato restituito alla banca precedente. (Anche qui, la banca precedente mi ha chiamato e mi ha detto che se non avessi dato il mio consenso, il conto sarebbe stato restituito... Comunque, il conto ISA è un conto speciale, quindi credo che sia stato più complicato del solito.)
Comunque sia, le operazioni di trading di azioni sono sempre semplici, ma la fase di apertura del conto, installazione e configurazione di HTS (Home Trading System) e MTS (Mobile Trading System) per poterle effettuare è davvero complicata. Ma ce l'ho fatta, e grazie a questo posso procedere con lo sviluppo.
L'API REST (Representational State Transfer) è stata davvero semplice da utilizzare grazie all'esempio di Postman. È stato possibile verificare immediatamente la richiesta e la ricezione dei dati, e convertire il codice in Python direttamente da Postman. Tuttavia, alcune funzionalità non supportano il trading simulato. Non si tratta di funzionalità critiche, ma il doverle verificare su un conto di trading reale è scomodo. Verificarle su un conto di trading reale non sarebbe un problema se non si effettua alcun trading reale, ma psicologicamente e dal punto di vista pratico è stato un po' snervante. Spero che in futuro 한국투자증권 (Hankook Investment & Securities) migliori questi aspetti.
La parte successiva che ho trovato difficile è stata la ricezione dei dati in tempo reale tramite Websockets.
In questa fase, la logica di ricezione continua ad essere eseguita, ma non sono riuscito a trovare un modo per modificarla in modo che non venga influenzata e che consenta di inviare altri comandi. Credo che questo sia dovuto alla mia scarsa comprensione dei Websockets, ma anche alla mia generale mancanza di conoscenza dei linguaggi di programmazione. Se in futuro dovessi trovare una soluzione, aggiornerò il post.
Non capisco i websocket... Non è un loop infinito?... Come si collegano correttamente gli eventi?... I thread... Accidenti...
Infine, ho trovato difficile capire la metodologia di trading desiderata dall'utente. Il mio metodo, il Grid Trading, non include tecniche di acquisto/vendita. Infatti, l'acquisto/vendita viene eseguito in base ai valori che ho impostato. Tuttavia, le normali strategie di trading sono progettate per adattarsi a diverse situazioni, quindi richiedono di prendere decisioni di acquisto/vendita in base a determinati valori. Si raccolgono i dati a candele, si tracciano le medie mobili, si usano gli intervalli di Bollinger Band come riferimento per prendere decisioni di acquisto/vendita. Tecnicamente, il calcolo dei valori di condizione è definito da una formula, quindi è possibile farlo, ma mi chiedo perché si utilizzi questo metodo. E ancora non ho una risposta soddisfacente. Più studio le azioni, più mi rendo conto di quanto siano difficili. ^^;; (Dovrebbero salire e scendere allo stesso modo, ma perché mi trovo sempre sul lato negativo?!!!)
Non lo so... Perché sale e scende?... Quando si compra e quando si vende...
Oltre a queste, credo ci siano state altre difficoltà. Ma la vita non è forse fatta di rotolamenti e ricerca di soluzioni? Nel prossimo post, descriverò le fasi di sperimentazione e le soluzioni alternative alle difficoltà incontrate. Forza!
Commenti0