1.
불황이 긴 파고가 휩쓸고 있는 여의도. 구조조정 일순위는 지점과 리서치센터입니다. 리서치센터는 증권산업의 변화와 맞물려 역할이 바뀌고 있다고 합니다.
증시가 어려워지자
뭇매
를 맞은 곳 중 하나는 증권사들의 리서치센터다. 구조조정 대상에서도 예외가 못됐다. 하지만 살아남은 자들의 반격도 무섭다. 이미 한참을 돌아선 고객들의 마음을 되돌리기 위해 무던히 애를 쓰고 변신을 꾀하고 있다. 주식투자, 더 나아가서는 투자 트렌드 전반의 변화를 반영한 결과다. 한 증권사 애널리스트는 “떠나지 않기 위해서는 변해야 한다”고 말했다◇ 리서치, 자산관리로 중심축 이동..개미는 소외
최근 리서치센터들은 표면적으로 몸집을 줄이고 있다. 지난해 회사를 떠난 애널리스트들의 숫자는 130명이 넘는다. 그러나 남는 이들도 연봉삭감 등 고통을 감수하고 있다. 또 상전벽해처럼 변하고 있는 투자 트렌드에 맞춰 리서치에도 변화를 가하고 있다.
최근 눈에 띄는 것 중 하나는 단순히 종목이나 시황분석 외에 자산배분 전략 전반을 다루는 곳이 늘었다는 것이다. 특히 대형사들의 경우 그 변화가 두드러진다. 하나대투증권, 현대증권, 대신증권 등은 분기 또는 월별로 매거진 형태에 가까운 자산배분 전략을 내놓고 있다.
사실
개미
들 입장으로서는 다소 쌩뚱맞을 수도 있다. 개별종목에 소소하게 투자할 돈도 모자란데 자산을 배분해 투자하라니 쉽지 않다. 증권사들도 이를 인정한다. 이런 변화는 불특정 다수의 개인투자자를 대상으로 했다기보다 기관 혹은 소위 ‘큰손’을 염두에 뒀다는 얘기다. 특히 지주사 지붕 아래 은행과 증권 계열사가 공존할 경우 증권사 역시 프라이빗뱅킹(PB) 고객을 더 의식하는 것이 현실이 됐다.한 증권사 관계자는 “회사마다 리서치에 대한 니즈가 달라지고 있다”며 “금융지주사 아래에서 은행과 연계된 증권사들의 경우 이미 리서치가 소액 개인투자자를 겨냥했다기보다 연금 등 기관이나 PB 등 고액자산가(슈퍼리치)를 대상으로 보면 된다”고 설명했다.
[새로 쓰는 투자 지침서]③종목 리서치는 한물 갔다중에서
변화하더라도 애널리스트는 보고서로 말합니다. 종목보고서를 발표할 때 빠지지 않는 항목이 실적 전망치(earnings estimate)입니다.
An analyst’s estimate for a company’s future quarterly or annual earnings. Future earnings estimates are arguably the most important input when attempting to value a firm. By placing estimates on the earnings of a firm for certain periods (quarterly, annually, etc), analysts can then use cashflow analysis to approximate a fair value for a company, which in turn will give a target share price for publicly traded companies.
국내 기업들이 제공하는 종목정보를 보면 아래와 같이 시세, 뉴스 및 리서치 보고서를 묶어서 제공합니디.
2.
우연히 실적전망치와 클라우드소싱을 결합한 멋진 서비스를 알았습니다.
실적전망데이타를 제공하는 서비스가 여럿있다고 합니다. Estimate는 클라우드소싱을 도입하여 Buy-Side, Sell-Side 및 독립적인 투자자들의 실적전망을 수집하여 자체적인 알고리즘으로 분석한 후 수치화한 데이타를 제공합니다.
Crowdsourcing Forecasts: Competition for Sell-Side Analysts?에 따르면 증권사의 실적 전망보다 훨씬 더 정확하다고 합니다.
“We examine new forecast data from buy-side and independent analysts collected by Estimize, an open crowdsourcing platform. We compare these forecasts to those of sell-side analysts covering the same firms, found on IBES.”
“The results show that announcement-period stock returns are more strongly associated with the signed earnings surprise calculated using buy-side and independent (Estimize) forecasts. The ERC based on buy-side forecasts is 3.093, significantly larger than the 2.413 resulting from IBES forecasts. The difference in these two ERCs is statistically significant (p-value<0.05).” “By including a broader array of forecasters, our study seems to suggest that sell-side forecast superiority no longer applies. Whether this is due to the declining importance of forecasts to the sell-side or an improvement in the talent and skills of the buy-side and independent analysts is a question that we are unable to answer with our limited time series of data.” “Much has been written about sell-side analyst incentives and the impact on their reporting. Estimize provides a new source of forecast data for both market participants and academics that is perhaps a better reflection of market expectations because it is free of the conflicts sell-side analysts face.” “Our study also has potentially broader implications. Estimize as a crowdsourcing platform represents a market solution to the shortcomings associated with sell-side analyst forecasts perhaps resulting from their incentives. The application of technology to enhance the information environment of firms is innovative and possibly revolutionary.”
Deutsche Bank는 Estimize의 플랫폼을 자세히 분석한 보고서를 내놓았습니다.
3.
그동안 트윗이나 구글 검색을 이용한 Sentiment Index도 집단지성에 근거한 방법입니다. Estimize도 출발을 비슷하지만 주가와 밀접한 관계가 있는 실적 전망치에 촛점을 맞추었습니다. 실적전망과 전략을 연결시키면 어떨까요? Quantopian의 트레이더가 이런 작업을 하였습니다.
trading earnings surprises with Estimize data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# This algo ingests a dataset of Estimize (www.estimize.com) quarterly earnings estimates from a Quantopian # repository and implements a simple earnings surprise trading strategy based on divergence # between the Estimize mean EPS estimate and the company's reported actual EPS value. # Long-only Earnings Surprise Strategy: # Each day scan the investible universe for companies with earnings surprises > THRESHOLD # -- Buy a fixed position in all companies w/a qualifying event # -- Hold for a predefined HOLD_PERIOD and then Exit position completely # "estimize.eps.surprise" is a derived value computed inside Quantopian's fetch_estimize method, defined as: # estimize.eps.surprise = (Estimize mean - 'Wallstreet' estimate ) / ('Wallstreet' estimate) #import required libraries: import pandas import collections import datetime import pytz #define the desired holding period in trading days: HOLD_PERIOD = 15 #Threshold for categorizing an event as an earnings surprise (e.g. 0.05 = +%5 surprise): THRESHOLD = 0.1 #Initialize the timezone: UTC = pytz.timezone('UTC') def initialize(context): #fetch Estimize data dump using a customized variant of Fetcher built explicitly for this dataset: fetch_estimize() #initialize a list of stocks to trade; demo test set == (AAPL, AA, F, MSFT, NFLX): # context.stocks = [sid(24), sid(2), sid(2673), sid(5061), sid(23709)] context.stocks=[sid(23709)] # set_universe(universe.DollarVolumeUniverse(97, 99)) # set max and min position sizes: context.max_notional = 500000.0 context.tolerance = context.max_notional / 10 context.min_notional = -1 * context.max_notional context.invested = 0 # initialize a dict to track the holding period of each investment context.hold_tracker = collections.defaultdict(dict) def handle_data(context, data): for stock in data: if 'estimize.eps.surprise' in data[stock] and 'price' in data[stock]: #pull out the Estimize surprise field that was fetched - this is our buy signal eps_surprise = data[stock]['estimize.eps.surprise'] #record this variable for visual inspection (right now this will only plot the #surprise for the last stock looped over) record(eps_surprise=100*eps_surprise) #pull out the most recent report date - #for this algo only trade when today == most recent report date most_recent_rpt_dt = data[stock]['reports_at'] most_recent_rpt_dt = most_recent_rpt_dt.replace(tzinfo=UTC) #make tz aware today = data[stock].datetime price = data[stock].price notional = context.portfolio.positions[stock].amount * price if notional > context.tolerance: context.invested = 1 else: context.invested = 0 #check if there are any open positions that have reached their exit trigger: if stock in context.hold_tracker: tracker_info = context.hold_tracker[stock] if tracker_info['holding']: if tracker_info['days_held'] == HOLD_PERIOD: shares = round(notional / price) order(stock,-shares) log.info('\n holding period expired, selling %s shares' % shares) del context.hold_tracker[stock] else: tracker_info['days_held'] += 1 #BUY if a stock passes the eps_surprise THRESHOLD and increment days_held tracker if eps_surprise > THRESHOLD \ and today==most_recent_rpt_dt \ and (context.max_notional - notional) > context.tolerance \ and context.invested==0: shares = round((context.max_notional - notional) / price) order(stock,shares) log.info('\n %s' % stock) log.info('\n buy %s shares' % shares) context.hold_tracker[stock] = { 'holding': True, 'days_held': 0 } #SELL position if a stock drops below the eps_surprise THRESHOLD and notional>0 elif eps_surprise < THRESHOLD and notional > 0: shares = notional / price order(stock,-shares) log.info('\n failed to meet threshold, selling %s shares' % shares) |
이것이 가능한 것은 Estimize가 실적전망치를 API로 제공하기때문입니다.
Estimize는 실적전망에서 한발더 나아가 M&A영역에 도전을 하고 있습니다. 멋진 서비스입니다.