- Ребалансировка портфеля.
Робоконсультанты часто используют ребалансировку портфеля для поддержания желаемого распределения активов. Вот простой пример Python с использованием библиотеки Pandas:
import pandas as pd
def rebalance_portfolio(current_portfolio, target_weights):
current_weights = current_portfolio / current_portfolio.sum()
target_portfolio = current_portfolio.sum() * target_weights
rebalancing_amount = target_portfolio - current_portfolio
return rebalancing_amount
# Example usage
current_portfolio = pd.Series([5000, 3000, 2000], index=['AAPL', 'GOOG', 'AMZN'])
target_weights = pd.Series([0.4, 0.4, 0.2], index=['AAPL', 'GOOG', 'AMZN'])
rebalancing_amount = rebalance_portfolio(current_portfolio, target_weights)
print(rebalancing_amount)
- Оценка рисков и распределение активов.
Робо-консультанты обычно оценивают толерантность инвестора к риску и рекомендуют соответствующее распределение активов. Вот упрощенный пример использования базовой анкеты для оценки рисков:
def assess_risk_tolerance(answers):
score = sum(answers)
if score <= 5:
return 'Conservative'
elif score <= 10:
return 'Moderate'
else:
return 'Aggressive'
# Example usage
answers = [4, 3, 5, 2, 1]
risk_tolerance = assess_risk_tolerance(answers)
print(risk_tolerance)
- Автоматическое размещение ордеров.
Робо-советники автоматически размещают сделки на основе заранее определенных правил. Вот упрощенный пример использования API Alpaca для размещения рыночного ордера на покупку акций:
import alpaca_trade_api as tradeapi
api = tradeapi.REST('API_KEY_ID', 'API_SECRET_KEY', base_url='https://paper-api.alpaca.markets')
def place_market_order(symbol, quantity):
api.submit_order(
symbol=symbol,
qty=quantity,
side='buy',
type='market',
time_in_force='gtc'
)
# Example usage
symbol = 'AAPL'
quantity = 10
place_market_order(symbol, quantity)