58
Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan [email protected] 6/16/2016 Confidential 1

Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Stock Price Extraction from StockTwits Creating a new form of Sentiment

Kevin Coogan [email protected] 6/16/2016 Confidential

1

Page 2: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

6/16/2016 Confidential

2

Page 3: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

I. Stock Price Extraction • Machine learning method that identifies asset prices within communications

• Provides easily quantifiable and intuitive approach to market levels being discussed

II. (Bullish – Bearish) Volume • Oscillator measuring balance between bulls and bears for an asset

• Excellent for confirming trend line breaks and extreme levels

III. Price Range Indicator • Indicator measuring % difference between median bullish and bearish price cohorts

• Helps to identify major shifts in market perception

6/16/2016 Confidential

3

Page 4: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Stock Price Extraction 4

Confidential 6/16/2016

(Data Stream)

Page 5: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Stock Price Extraction 5

Confidential 6/16/2016

(Data Stream)

(Machine Learning)

Page 6: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Stock Price Extraction 6

Confidential 6/16/2016

(Data Stream)

(Machine Learning)

1/4/2016 77 77 79.53 80

1/5/2016 55 60 79 80

1/6/2016 55 60 70 70

1/7/2016 70 75 75 75

1/8/2016 65 70 75 77

1/11/2016 75 75 80 80

(Storage by Ticker)

Page 7: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Stock Price Extraction 7

Confidential 6/16/2016

(Data Stream)

(Machine Learning)

1/4/2016 77 77 79.53 80

1/5/2016 55 60 79 80

1/6/2016 55 60 70 70

1/7/2016 70 75 75 75

1/8/2016 65 70 75 77

1/11/2016 75 75 80 80

(Storage by Ticker)

(Market Analysis)

Page 8: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Machine Learning

6/16/2016 Confidential

8

• Machine Learning allows us to make predictions by “training” an algorithm based on prior evidence

• Simple Example: “Perceptron” algorithm at right updates prediction on every new data point

• Math:

- IF yt (Θt ∙ xt) < 0

- Θ t+1 = Θt + yt xt)

Confidential 6/16/2016

Page 9: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Machine Learning

• Thousands of price mentions were hand-labeled by a team of financial industry veterans

• Each number in a tweet was labeled as either “price-related” or “not price-related”

• Each “price-related” number was further categorized under trading terms such as “price target”, “resistance”, “support”, etc. depending on the context

• Our model uses this data to identify asset prices

• Asset prices are then tagged, extracted, and organized by ticker and timestamp

6/16/2016 Confidential

9

Confidential 6/16/2016

Page 10: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Deliverables

6/16/2016 Confidential

10

• Open to negotiation with potential clients

• Possibilities might include: • Daily .csv dump of ticker/date/stock price extraction

• Daily .csv dump of trading signals and proprietary indicators as described in this presentation

• Daily alerts of customized signals to fit clients needs and goals (holding period duration, sector or asset focus, technical overlays, etc.)

Page 11: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

(Bullish – Bearish) Volume

Calculation

1. Each price mention is compared to the asset’s price • If above, then considered Bullish

• If below, then considered Bearish

2. For each time period, count #bullish and #bearish mentions to create volume measures

3. Subtract Bearish Volume from Bullish Volume and divide result by Total Volume for a standardized percent rating

4. Create a smoothed time series for analysis

6/16/2016 Confidential

11

Page 12: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

(Bullish – Bearish) Volume

Usage

• Stock Price Extraction, “SPE”, (Bullish – Bearish) Volume is an oscillator that measures the balance between implied bulls and bears commenting on an asset

• Above zero implies net bullishness, below implies net bearishness

• Investors should look for: • Extremes which can identify overbought and oversold conditions • Inversions which can offer trading opportunities • Divergences with asset prices which can signal price reversals • Confirmation of trend line breaks or price pattern formations

• The following series of charts has the SPE (Bullish – Bearish) Volume oscillator in green and its zero line in blue, using the left scale, and asset price on right scale

* Note we smoothed this oscillator to match multi-month trading, but it can be used under a variety of circumstances and trading styles. We simply offer this as a proof-of-concept and potential use case.

6/16/2016 Confidential

12

Page 13: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

SPY

6/16/2016 Confidential

13

Page 14: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

SPY

6/16/2016 Confidential

14

Page 15: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

USDJPY

6/16/2016 Confidential

15

Page 16: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

USDJPY

6/16/2016 Confidential

16

Page 17: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Crude Oil

6/16/2016 Confidential

17

Page 18: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Crude Oil

6/16/2016 Confidential

18

Page 19: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GLD

6/16/2016 Confidential

19

Page 20: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GLD

6/16/2016 Confidential

20

Page 21: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GDX

6/16/2016 Confidential

21

Page 22: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GDX

6/16/2016 Confidential

22

Page 23: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AAPL

6/16/2016 Confidential

23

Page 24: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AAPL

6/16/2016 Confidential

24

Page 25: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

TSLA

6/16/2016 Confidential

25

Page 26: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

TSLA

6/16/2016 Confidential

26

Page 27: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AMZN

6/16/2016 Confidential

27

Page 28: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AMZN

6/16/2016 Confidential

28

Page 29: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

NFLX

6/16/2016 Confidential

29

Page 30: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

NFLX

6/16/2016 Confidential

30

Page 31: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

F

6/16/2016 Confidential

31

Page 32: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

F

6/16/2016 Confidential

32

Page 33: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

DDD

6/16/2016 Confidential

33

Page 34: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

DDD

6/16/2016 Confidential

34

Page 35: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GILD

6/16/2016 Confidential

35

Page 36: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GILD

6/16/2016 Confidential

36

Page 37: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

INO

6/16/2016 Confidential

37

Page 38: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

INO

6/16/2016 Confidential

38

Page 39: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

FB

6/16/2016 Confidential

39

Page 40: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

TWTR

6/16/2016 Confidential

40

Page 41: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

CMG

6/16/2016 Confidential

41

Page 42: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

DIS

6/16/2016 Confidential

42

Page 43: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Price Range Indicator

Calculation

1. Each price mention is compared to the asset’s price • If above, then considered Bullish

• If below, then considered Bearish

2. For each time period, medians are calculated for the Bullish and Bearish price cohorts

3. Subtract Bearish Median Price from Bullish Median Price and divide result by asset’s price for each time period

4. Create a smoothed time series for analysis

6/16/2016 Confidential

43

Page 44: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Price Range Indicator

Usage

• Price Range Indicator is an oscillator that measures the % difference between the median bull and bear prices of an asset

• Closer to zero equals market expectations nearing equilibrium which is normally followed by rapid price moves, especially to the downside

• Investors should look for: • Historical highs and lows which tend to forecast coming significant turns in asset prices

• Inversions which signal a shift in investor outlook

• The following series of charts has the Price Range Indicator in orange, using the left scale which is inverted, and asset price on right scale

* Note we smoothed this oscillator to match multi-month trading, but it can be used under a variety of circumstances and trading styles. We simply offer this as a proof-of-concept and potential use case.

6/16/2016 Confidential

44

Page 45: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

SPY

6/16/2016 Confidential

45

Page 46: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GLD

6/16/2016 Confidential

46

Page 47: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

USDJPY

6/16/2016 Confidential

47

Page 48: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

Crude Oil

6/16/2016 Confidential

48

Page 49: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AAPL

6/16/2016 Confidential

49

Page 50: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GOOG

6/16/2016 Confidential

50

Page 51: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

AMZN

6/16/2016 Confidential

51

Page 52: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

F

6/16/2016 Confidential

52

Page 53: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

GILD

6/16/2016 Confidential

53

Page 54: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

FB

6/16/2016 Confidential

54

Page 55: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

TWTR

6/16/2016 Confidential

55

Page 56: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

DIS

6/16/2016 Confidential

56

Page 57: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

TSLA

6/16/2016 Confidential

57

Page 58: Stock Price Extraction from StockTwits Creating a new form ...€¦ · Stock Price Extraction from StockTwits Creating a new form of Sentiment Kevin Coogan ... 1/7/2016 70 75 75 75

6/16/2016 Confidential

58