javascriptf / chrome-stock-polls

An anonymized polling platform for the stock markets.
MIT License
0 stars 0 forks source link

Designing an anonymized polling platform for the stock markets #1

Open wolfram77 opened 1 year ago

wolfram77 commented 1 year ago

This is a work in progress (WIP). The goal is to create a platform where users can create polls and vote on them. The polls can be created for stocks in the equity market, as well as for symbols in the commodity and currency markets (cryptocurrency?).

Market Sentiment Analysis

The platform can serve as a tool for gauging market sentiment by collecting and aggregating responses from a large number of participants. Polls serve as a barometer for market sentiment, capturing opinions of traders (intraday, options) and long-term investors on quarterly earnings reports, stock events, or short-term price movements.

Anonymity in the polling platform helps reduce bias by eliminating the influence of reputation, status, or other factors that may affect participants' responses. It encourages more honest and objective opinions, leading to more reliable aggregated results.

Risk Assessment

The platform can help assess and analyze risks associated with various investment strategies or specific stocks. By gathering anonymous opinions and data from a diverse range of investors, it can provide a broader view of risk factors, and uncover potential blind spots.

Financial analysts can utilize the platform to validate or challenge their investment hypotheses or strategies. By comparing their own analysis with the aggregated sentiment or predictions from the platform, analysts can gain insights into potential biases or alternative viewpoints.

Creating polls

A poll is a question that has a set of possible answers, and can be created by experienced financial analysts, traders, or long-term investors. The poll can be created for any symbol, but the focus will be on the Indian stock market, currency market, and the commodity market.

The record format to store polls in an SQL database can be as follows:

CREATE TABLE polls (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    author TEXT,       -- author of the poll (not anonymous)
    constraints TEXT,  -- constraints on the poll (e.g. only one option, at least two options)
    question TEXT,
    option1 TEXT,
    option2 TEXT,
    option3 TEXT,
    option4 TEXT,
    symbol TEXT,       -- symbol of the stock, commodity, or currency (e.g. "TCS", "GOLD", "USDINR")
    market TEXT,       -- market of the symbol (e.g. "NSE", "MCX", "CURRENCY")
    time_period TEXT,  -- time period of the poll (e.g. "day-2021-01-01", "quarter-3-2021", "year-2021")
    created_on TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY(author) REFERENCES users(id),
);

Voting on polls

A vote is an anonymous and verifiable response to a poll, and can be created by any registered user. It can be for any option in the poll or multiple options, if allowed, but the user can only vote once for each poll. As discussed earlier, we may use a Private Information Retrieval (PIR) scheme to allow users to vote on polls anonymously. Votes can be verified using CAPTCHA.

The record format to store polls in an SQL database can be as follows:

CREATE TABLE votes (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    poll INTEGER,     -- id of the poll
    option1 INTEGER,  -- option1 value (0 or 1)
    option2 INTEGER,  -- option2 value (0 or 1)
    option3 INTEGER,  -- option3 value (0 or 1)
    option4 INTEGER,  -- option4 value (0 or 1)
    user TEXT,        -- user who voted on the poll (anonymous)
    created_on TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY(poll) REFERENCES polls(id),
    FOREIGN KEY(user) REFERENCES users(id),
    UNIQUE(poll, user)
);

Reporting on poll results

The poll results can be displayed as a pie chart or bar chart to show the percentage of votes for each option. The results can be displayed for any symbol, market, or time period. We should enhance enable intuitive interpretation, and give actionable takeaways (legal?).

Integration with Stock Brokers and Market Websites

Extension can be used to integrate with existing stock brokers (e.g. Zerodha, FYERS, etc.) to facilitate seamless trading based on poll outcomes. The extension can also be used to integrate with existing stock market websites (e.g. Moneycontrol, Screener, etc.) to display the poll results on the stock page. We may also allow users to vote on polls directly from the stock broker's portal or stock market websites.



References

wolfram77 commented 1 year ago

Adding a few more relevant references ...