Beispiel #1
0
    def test_aum_formatter(self):
        thousands = '99000'
        million = '99000000'
        billion = '9900000000'

        self.failUnless(format_aum(thousands) == '$99.0M')
        self.failUnless(format_aum(million) == '$99.0B')
        self.failUnless(format_aum(billion) == '$9.9B')
Beispiel #2
0
    def format_institutional(self, filing):
        alert = {'type': '/13F/', 'cik': int(filing['cik']),
                 'original': filing['url']}
        company = truncator(filing['name'], 40)

        if filing['amendment'] == 'A':
            amended_wording = 'an amended 13F'
        elif filing['amendment'] == 'R':
            amended_wording = 'a replacement 13F'
        else:
            amended_wording = 'a 13F'

        date_filed = self.format_date_filed(filing['date_filed'])
        period_of_report = pretty_date(filing['period_of_report'])
        positions = format_number(filing['positions'])
        aum = format_aum(filing['aum'])
        alert['subject'] = '%s filed %s for %s' % \
                    (company, amended_wording, period_of_report)

        """Create the text body"""
        alert['text'] = [alert['subject']]
        alert['text'].append(date_filed)
        alert['text'].append('Period: ' + period_of_report)
        alert['text'].append('Positions: ' + positions + ' (%s)' % aum)

        """Create the tweet"""
        if float(filing['aum']) > 100000 and filing['amendment'] == 'O':
            alert['tweet'] = [alert['subject']]
            alert['tweet'].append(positions + ' positions ' + '(' + aum + ')')
        self.raw_alerts.append(alert)
Beispiel #3
0
def institutional_search():
    """13F Autocomplete"""
    params = {'term': request.args.get('term'), 'number': 10}
    response = make_api_request('/13F/search/', params, True)
    for f in response['_results_']:
        f['aum'] = format_aum(f['aum'])
        latest_filing = datetime.strptime(f['latest_filing'], '%Y-%m-%d')
        latest_filing = datetime.strftime(latest_filing, '%m/%d/%Y')
        if latest_filing.startswith('0'):
            latest_filing = latest_filing.replace('0', '', 1)
        f['latest_filing'] = latest_filing
    return jsonify(results=response['_results_'])