A modest proposal: filter for new users. During registration, ask them to write a little about their trading background in around 300 words, in a manner which suggests it will be manually reviewed. Instead, classify by word count:
<150 words, gets binned, can't follow instructions.
> 400 words, gets binned, suspected blow hard.
else..approve but require them to wait 1 week before enabling posting privileges (delayed gratification)
Extra credit: naive Bayes classifiers to globally mute users identified as having consistently poor spelling, grammar, or who are posting nonsense. "Mute" users can post but the posts are hidden for everyone except the user who posted them. Could be implemented as a global ignore list.
Algorithm should correctly identify the following example string as spam:
"I'm a gunna make just $150-200 a day trading 1 contract in the ES using $GURU's easy price action method"