コード例 #1
0
ファイル: portfolio.py プロジェクト: robcos/quote-portfolio
def quotes(request):  
  symbols = []
  for position in Position.all():
    symbols.append(position.symbol)

  RealtimeQuote.delete_all()
  RealtimeQuote.download_all(symbols)
  
  return redirect(request)
コード例 #2
0
ファイル: portfolio.py プロジェクト: robcos/quote-portfolio
def historical_quotes(request):  
  symbols = []
  for position in Position.all():
    symbols.append(position.symbol)
    start_date = request.GET.get('start_date')
    stop_date = request.GET.get('stop_date')
    if start_date:
      Quote.yahoo(
          position.symbol, 
          start_date=datetime.strptime(start_date, '%Y-%m-%d').date(),
          stop_date=datetime.strptime(stop_date, '%Y-%m-%d').date())
    else:
       Quote.yahoo(position.symbol)
  
  return redirect(request)
コード例 #3
0
ファイル: portfolio.py プロジェクト: robcos/quote-portfolio
def alerts(request):
  body = ''
  for position in Position.all():
    if position.exit_date is not None or not position.shares:
      continue
    if position.below_stop():
      body += '\n%s in portfolio %s below stop' % (position.symbol, position.portfolio.name)
    if position.below_ll_10():
      body += '\n%s in portfolio %s below ll10' % (position.symbol, position.portfolio.name)
  if len(body) == 0:
    return HttpResponseRedirect('/')

  body = 'The following alerts have been triggered:\n' + body
  body += '\n\nVisit http://quote-portfolio.appspot.com for details.'

  mail.send_mail(sender="*****@*****.**",
    to="*****@*****.**",
    subject="Portfolio alert",
    body=body)

  return HttpResponseRedirect('/')