I would like to use the streaming api to catch stock ticker symbols, but I am concerned about punctuation. It appears that if I set the “track” keyword to “$AAPL” then keywords that contain just “AAPL” or “$AAPL?” are both missed. How do people handle this problem, aside from just including all variations ?
The track term of “aapl” should match “$AAPL” and “$AAPL?” and “AAPL”. For example, I just verified with https://stream.twitter.com/1.1/statuses/filter.json?track=paapl which matched:
“I still want to buy some $PAAPL”
“Has nobody heard of $PAAPL?”
“PAAPL is hot right now!”
We actually just rolled out a new page which should help make this clearer: https://dev.twitter.com/docs/streaming-apis/keyword-matching
That page is really nice!
The concern is more for terms like $F (i.e. Ford), so for example “$F” works most of the time, except “$F.”, “$F?”, and “$F!”, moreover, using terms like “F” will lead to a lot of garbage. What’s the best solution for this problem? I am most interested in catching symbols with the leading “$”, but I will miss all instances that start with a leading dollar sign and end with punctuation, which will happen at the end of a sentence. Perhaps the best solution is to just use “F” and then do some post-processing? But then I would most likely run into your daily 1% max limit.
How can I search specifically for strings with punctuation, such as “AAPL!” with the exclamation point? I’m interested to make a widget that makes a timeline for these tweets, but as of now I have to use the search API and then use python to search the strings that contain “AAPL” for “AAPL!”.