Автор оригинала: Blade Nelson.
Автор:: Блейк Нельсон
Прочитайте первый учебник, если вы еще этого не сделали!
Algo Trading 101: Ваш первый биржевой бот на Python 🐍
После установки библиотеки alpaca_trade_api на Python мы готовы размещать заказы на покупку и продажу! Это позволит нам моделировать прибыль и убытки в наших алгоритмах!
Видео : https://www.youtube.com/watch?v=gWl5HFXO8P4
Введение в заказы на покупку и продажу:
При торговле акциями у нас есть много различных типов ордеров, включая лимитные ордера и рыночные ордера. Каждый отдельный тип служит уникальной цели и используется в разных сценариях.
Что такое рыночные ордера и лимитные ордера?
Существует два основных типа ордеров, которые необходимо учитывать при торговле algo: рыночные ордера & лимитные ордера .
/| Рыночный ордер исполняется немедленно , по
текущей рыночной цене .
Рыночные ордера используются, когда для вас важнее, чтобы ордер прошел быстро, а не по отличной цене. Рыночный ордер является самым простым из типов ордеров и, следовательно, самым простым в использовании. Что делает его хорошей отправной точкой для начинающих.
Лимитный ордер исполняется только тогда, когда акция достигает установленной цены. Цена, установленная трейдером
. Лимитные ордера чаще используются продвинутыми трейдерами, поскольку они позволяют указать установленную цену, по которой вы хотите войти. Это также облегчает расчет прибыли и целей выхода. Это хорошо подходит для фирм и более опытных трейдеров.
Как разместить заказ на покупку в Python:
Чтобы разместить рыночный ордер в Alpaca, используйте следующий стартовый код, а также ключи API, полученные из правой панели на панели Alpaca Paper Trading dashboard . ( Сначала создайте учетную запись! )
import alpaca_trade_api as tradeapi import time key = "" sec = " " #API endpoint URL url = "https://paper-api.alpaca.markets" #api_version v2 refers to the version that we'll use #very important for the documentation api = tradeapi.REST(key, sec, url, api_version='v2') #Init our account var account = api.get_account() #Should print 'ACTIVE' print(account.status) #Place buy order: #When placing orders, use the 'api' object we define above^ #api.submit_order() allows you to pass params to place orders #Example buy order: #All args in the submit_order() MUST BE STR! #Symbol means the stock ticker (FB, AAPL, IBM) #qty means quantity #side means buy or sell order = api.submit_order(symbol="FB", qty="10", side="buy", type="limit", limit_price="180.15", time_in_force="day") print(order)
Не стесняйтесь оставлять комментарии здесь, если у вас есть какие-либо вопросы!