Ваш первый бот для торговли акциями 🤖🐍Часть 2: покупка и продажа акций в Python с Alpaca!
Написано: Блэйд Нельсон
Прочитайте первый урок, если вы еще этого не сделали!
Algo Trading 101: ваш первый биржевой бот на Python 🐍
После установки библиотеки alpaca_trade_api на Python мы готовы размещать заказы на покупку и продажу! Это позволит нам моделировать прибыль и убыток в наших алгоритмах!
Введение в ордера на покупку и продажу:
При торговле акциями у нас есть много различных типов ордеров, включая лимитные ордера и рыночные ордера. Каждый отдельный тип служит уникальной цели и используется в разных сценариях.
Что рыночные ордера & лимитные ордера?
Есть два основных типа ордеров, которые необходимо учитывать при алготрейдинге:
рыночные ордера & лимитные ордера.
А
market order is executed immediately
вcurrent market price
.
Рыночные ордера используются, когда вам важнее, чтобы ордер прошел быстро, а не по отличной цене. Рыночный ордер является самым простым из типов ордеров, и поэтому его проще всего использовать. Что делает его хорошей отправной точкой для новичков.
А
limit order is executed only when the stock reaches a set price. A price set by the trader
.
Лимитные ордера чаще используются продвинутыми трейдерами, потому что они позволяют указать установленную цену, по которой вы хотите войти. Это также упрощает расчет прибыли и целей выхода. Делать это хорошо подходит для фирм и более опытных трейдеров.
Как разместить заказ на покупку в Python:
Чтобы разместить рыночный ордер в Alpaca, используйте следующий стартовый код, а также ваши API-ключи, полученные на правой панели на Панель инструментов Alpaca Paper Trading. (Сначала создайте аккаунт! )
import alpaca_trade_api as tradeapi
import time
key = "<YOUR KEY HERE>"
sec = "<YOUR SECRET KEY HERE>"
#API endpoint URL
url = "
#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)
Не стесняйтесь оставлять комментарии здесь, если у вас есть какие-либо вопросы!