(Acest articol a fost publicat pentru prima dată pe R – datawookieși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
The {alpacar} pachetul pentru R este un înveliș în jurul API-ului Alpaca. Documentația API poate fi găsită aici. În această postare introductivă vă arăt cum să instalați și să încărcați pachetul, apoi să vă autentific cu API-ul și să recuperez informațiile despre cont.
Crearea unui cont
Am folosit un cont de tranzacționare pe hârtie în scopuri de testare. Pentru a configura această configurație:
- Accesați https://alpaca.markets/.
- Faceți clic pe link pentru a crea un cont.
- Completați datele dvs. și trimiteți.
- Verificați-vă adresa de e-mail.
- Conectați-vă la noul dvs. cont.
- Configurați o aplicație de autentificare (folosesc Google Authenticator).
- Faceți clic pe Acasă fila.
- Găsiți Chei API secțiunea și apăsați tasta Generați chei noi legătură.
- Înregistrați cheia și secretul într-un loc sigur.
Mi-am stocat cheia și secretul în variabilele de mediu.
Acum ești pregătit, putem trece la pachet.
Instalați și încărcați
remotes::install_github("datawookie/alpacar")
Acum încărcați pachetul.
library(alpacar)
În mod implicit, pachetul va selecta API-ul de tranzacționare cu hârtie.
alpacar v0.0.8 Selecting paper trading API by default.
Încarc și eu în mod obișnuit {dplyr} și ajustați numărul de cifre semnificative în tibble ieșire.
library(dplyr) # Expand decimal places. options(pillar.sigfig = 8)
Autentifica
Îmi stochez acreditările în variabile de mediu. Mai exact folosesc a .env fișier în directorul meu de proiect, pe care îl încarc folosind {dotenv} pachet.
library(dotenv) load_dot_env()
Acum autentificați-vă cu API-ul.
authenticate(
key = Sys.getenv("ALPACA_KEY"),
secret = Sys.getenv("ALPACA_SECRET_KEY")
)
Informații despre cont
Din moment ce v-ați conectat la API, sunteți gata să preluați informațiile contului dvs.
info <- account()
Rezultatul este o listă cu o grămadă de câmpuri:
names(info) (1) "id" "admin_configurations" (3) "user_configurations" "account_number" (5) "status" "crypto_status" (7) "options_approved_level" "options_trading_level" (9) "currency" "buying_power" (11) "regt_buying_power" "daytrading_buying_power" (13) "effective_buying_power" "non_marginable_buying_power" (15) "options_buying_power" "bod_dtbp" (17) "cash" "accrued_fees" (19) "portfolio_value" "pattern_day_trader" (21) "trading_blocked" "transfers_blocked" (23) "account_blocked" "created_at" (25) "trade_suspended_by_user" "multiplier" (27) "shorting_enabled" "equity" (29) "last_equity" "long_market_value" (31) "short_market_value" "position_market_value" (33) "initial_margin" "maintenance_margin" (35) "last_maintenance_margin" "sma" (37) "daytrade_count" "balance_asof" (39) "crypto_tier" "intraday_adjustments" (41) "pending_reg_taf_fees"
Puteți accesa aceste câmpuri individual, dar există și un generic S3 print() metodă care prezintă informația în mod concis. Iată informațiile despre cont pentru un nou cont de tranzacționare pe hârtie impecabil:
================================================================================
Alpaca Account: PA39TI9AF7CO (bf24d452-0bd5-3de5-98e8-e794046094ad)
Currency: USD
Created: 2024-10-14 05:11:14
Status: ACTIVE
================================================================================
Balances (2024-10-11) ----------------------------------------------------------
Equity: = 100000.00
Cash: = 100000.00
Buying power: Nominal = 200000.00 Daytrading = 0.00
Regulation-T = 200000.00 Non-marginable = 100000.00
Effective = 200000.00 Options = 100000.00
Market value: Position = 0.00 Long = 0.00
Short = 0.00
Margin: Initial = 0.00 Maintenance = 0.00
Last maintenance = 0.00
--------------------------------------------------------------------------------
Voi publica mai multe postări pe măsură ce adaug mai multe funcționalități la pachet. În cele din urmă, scopul este de a avea un pachet care să permită tranzacționarea complet automatizată cu Alpaca de la R.
