Publish the algorithm. Anyone who wants to check can run it themselves!
For this to work, ALL of the data needed to run the algorithm and determine the winner must be data that is outside the control of the contest organizer (or published before the contest begins) and publicly available. The algorithm I described should meet this criteria.
Assume you have published (before the contest starts) that the lottery itself takes a 1% cut, and that all funds should be deposited to a particular Bitcoin wallet. Anyone who is suspicious of you (or just very careful) can inspect the blockchain to see the total number of bitcoins received before the contest cutoff time (call it "N"). They can find the closing price of the NYSE and run it through the hash function to find the random input (call it "R"). Then they can perform "X = (N mod R)" and count through the transactions until they find the one that added the "X'th" bitcoin to the wallet. If that was their transaction then they know to expect to receive "0.99*N" bitcoins. Like I said before, for rigorous use, the algorithm needs some details and a little improvement, but this demonstrates the existence of algorithms that allow any participant in the lottery can verify that the lottery is fair.