> For the complete documentation index, see [llms.txt](https://vizo.gitbook.io/vizo-exchange-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vizo.gitbook.io/vizo-exchange-docs/documentation/basics/markdown.md).

# 4. Core Function Design (Framework Layer)

## **4.1 Prediction Market (Core Betting Feature)**

#### Asset Planning&#x20;

* Phase 1: Core Index Categories (Low risk, compliance-friendly, high user awareness)&#x20;
* Phase 2: Star Individual Stocks (High topicality, high volatility, requires regional compliance control)&#x20;
* Phase 3: Cryptocurrencies & Macro Assets (Web3 native, globally user-friendly)&#x20;
* Phase 4: Entertainment/Cross-border Prediction (Differentiation, enhances community activity)

***

## **4.2 Market Odds Design Specification**

* Odds Spread: Drawing inspiration from the strike price spread design of options, such as $2.5 for Nvidia options, $1 for the S\&P 500 Volatility Index, and $5 for the Fidelity MSCI Information Technology Index ETF options.<br>
* Number of Markets: Each asset is designed to have 5 markets. The option strike price range closest to Friday's closing price is the first market, plus and minus one odds spread is the second market, and plus and minus two odds spreads is the third market; the upper market of the third market is defined as greater than the third upward market, and the lower market of the third market is defined as less than the third downward market.

Example: Assuming on a certain Friday, Nvidia's closing price is Price=$173.39, and the odds spread is $2.5, the markets generated for the next period are:

<details>

<summary>$10, 12.5, 15, 17.5......450, 475.5$ </summary>

</details>

* **First Market**:&#x20;

<details>

<summary>$172.5 &#x3C; Price &#x3C; 175.0$</summary>

</details>

* **Second Market**:&#x20;

<details>

<summary>$170 &#x3C; Price ≤ 172.5 AND 175 ≤ Price &#x3C; 177.5$ </summary>

</details>

* **Third Market**:&#x20;

<details>

<summary>Price ≤ $170 AND $177.5 ≤ Price</summary>

</details>

* **Stock Price Expected Movement Model**: Used to display the probability distribution/expected range of the price at expiration.\
  Core Idea: Treat the asset price at expiration as a log-normal distribution, and use the ATM implied volatility (IV) corresponding to that expiration date for volatility.

\
**Example as shown in the figure:**

* **NVDA Option Probability**&#x20;
* Probabilities for the ending price of NVDA. A probability distribution describes the likelihood of the underlying asset's price reaching a certain level at expiration&#x20;
* Expiration Dates 2005-09-26&#x20;
* Lognormal Distribution Call implied Probability Put implied Probability&#x20;
* Probability Density Function (PDF) Cumulative Distribution Function(CDF)&#x20;
* Probability Distribution NVDA&#x20;
* Underlying Price at Expiration 2025-09-26(w) lognormal&#x20;

***

## 4.3 Community and Discussion Area

Information Feed PRD-V1.0 47

***

## 4.4 AI Smart Research Assistant&#x20;

* **Real-time Data Access**: Automatically fetch company announcements, financial reports, and news.
* **Research Document Generation**: AI summarizes key points (e.g., highlights of Nvidia's financial report).
* **Opinion Summary**: Capture KOL tweets and market commentary to generate a bullish vs. bearish comparison.
* **Scenario Simulation**: Users receive automatically generated bullish/bearish key point prompts from AI one hour before the financial report release.
* **Detailed Function Document**: AI Asset Information Capture and Intelligence Analysis System Requirements Document-V1.0

#### Buy-Sell Strength Index (BSSI) for Stocks

Goal: Express the strength of buying and selling pressure for a US stock within a fixed time window using a value from 0 to 100

***

## 4.5 One-Click Follow Bet Feature&#x20;

* Users can choose to "follow a user/an opinion to bet.
* The system automatically synchronizes the bet amount/market.
* Provides a "Top Predictors Leaderboard" for new users' reference.

***

## 4.6 Cross-Market Arbitrage&#x20;

"Cross-Market Arbitrage" is an advanced strategy in a range prediction market like Polystock, which involves establishing logical and probabilistic relationships between markets of different price ranges, allowing users or the system to profit from price mismatches.

### a) Basic Concepts

In Polystock, each asset (e.g., Nvidia NVDA) will have multiple "range markets," for example:

| **Market ID** | **Range**  | **Current Odds (Yes)** |
| ------------- | ---------- | ---------------------- |
| M1            | 167.5\~170 | 2.0x                   |
| M2            | 170\~172.5 | 1.8x                   |
| M3            | 172.5\~175 | 1.9x                   |

These markets are essentially discrete predictions for different price segments of the same event (**this Friday's closing price**). In terms of probability, there is a relationship of "mutually exclusive" and "covering":

* Total Probability:&#x20;

<details>

<summary>≈∑Probabilities of Each Range ≤ 1</summary>

</details>

* If a certain market is overvalued or undervalued → Arbitrage opportunity exists.

### b) Principle of Cross-Market Arbitrage&#x20;

#### **① Logical Relationship Arbitrage (Probability Arbitrage)**&#x20;

If the system shows:

<details>

<summary>M1 (167.5~170): Odds 2.0 → Probability 50% </summary>

</details>

<details>

<summary>M2 (170~172.5): Odds 1.8 → Probability = 55% </summary>

</details>

* Total Probability = 105% > 100%&#x20;

This indicates unreasonable odds pricing (excess probability).\
Users can construct a risk-free portfolio by placing bets on multiple markets simultaneously (profiting even if only one wins).\
Similar to "Mispriced Options Arbitrage" in traditional finance.

#### **② Range Arbitrage:**&#x20;

Users can establish a portfolio in "overlapping or adjacent ranges":

For example, simultaneously taking a long position on "167.5\~170" and "170\~172.5".

When the closing price falls between 167.5 and 172.5, at least one market will win 78, and through odds structure optimization, capital utilization can be improved.

This is similar to the "Spread Strategy" in the options market, where users can construct a multi-market portfolio to smooth risk or amplify returns.

#### **③ Temporal Arbitrage:**

Between markets with different expiration dates (e.g., September 12 vs. September 19), if the probability pricing is inconsistent, temporal arbitrage can be performed.

i.e., "Short-term expectation /is different with/ Long-term expectation," and the system provides a spread for profit.

### c) Advantages&#x20;

| **Dimension**           | **Traditional Prediction Market**                       | **Polystock's Cross-Market Arbitrage**              |
| ----------------------- | ------------------------------------------------------- | --------------------------------------------------- |
| Probability Consistency | Each market is independent, prices are often imbalanced | System-level Arbitrage Calibration                  |
| User Experience         | Single-point speculation                                | Can construct portfolio strategies                  |
| Financial Attribute     | Entertainment-based betting                             | Professional trading tool                           |
| Market Depth            | Fragmented liquidity                                    | Aggregated arbitrage leads to liquidity enhancement |

Cross-market arbitrage allows Polystock to evolve from a "prediction market" to a "lightweight decentralized derivatives exchange"<br>

### d) Summary

Polystock will productize cross-market arbitrage through the following mechanisms:

* Multi-Market Composition: Allows users to open positions in multiple markets simultaneously.
* AI-driven Arbitrage Scanner:&#x20;
  * Automatically detects inconsistencies in probability and odds;
  * Recommends "risk-free or low-risk arbitrage portfolios" to users.
* Liquidity Compensation Mechanism: Maintains price consistency between markets by automatically adjusting AMM parameters (b value).

***

## 4.7 Market Display Rules&#x20;

Combines common Polymarket practices with the needs of prediction market users ("Easy to find, easy to understand, easy to place a bet").

Goal: In the unified "All Markets" list, use a sorting mechanism that balances tradability, popularity, time relevance, and quality/risk to ensure users quickly find markets that are "bettable, easy to bet, and worth betting on".

### 4.7.1 Inclusion Scope and Filtering&#x20;

* **Default Inclusion**: Active markets.
* **Optional Switch** **(default off)**: Resolving/Resolved (only for historical query, not included in default sorting).
* **Mandatory Exclusion**: Halted, High Risk/Compliance-Forbidden Display; Markets with incomplete rule pages are not included by default.
* **Paging**: limit = 50$, supports cursor pagination (stable sorting).<br>

### 4.7.2 Features Used for Sorting

* **Tradability:**&#x20;

<details>

<summary>Depth@1c, Spread, fill\_rate</summary>

</details>

one-time transaction completion rate.

* **Popularity:**&#x20;

<details>

<summary><strong>volume_24h, unique_traders_24h, trades_24h (log or z-score)</strong></summary>

</details>

* **Volume/Size:**&#x20;

<details>

<summary>open\_interest OI</summary>

</details>

* **Time Factor:**&#x20;

<details>

<summary>hours\_to\_end (time remaining until expiration)</summary>

</details>

* **Momentum/Volatility:**&#x20;

<details>

<summary>abs(price_change_24h), volatility_24h</summary>

</details>

used for slight bonus/penalty for excessive volatility.

* **Quality/Risk:**&#x20;

<details>

<summary>rule_quality_score ,invalid_risk ,halt/dispute flags (penalty terms)</summary>

</details>

* **Personalization** (**Optional**): User preference similarity sim(,) and watchlist bonus (only effective when the user is logged in).
* **Normalization**: Numerical features are log or z-score transformed; extreme values are winsorized (truncated at both ends by one-thousandth).<br>

### 4.7.3 Unified Scoring Function&#x20;

First, construct three base scores:

* **Liquidity Score $L$:**&#x20;

<details>

<summary>L = z(Depth@1c) − z(Spread) + 0.5 ⋅ z(fill_rate)     (truncated to [−3,+3])</summary>

</details>

* **Popularity Score $H$:**&#x20;

<details>

<summary>H = 0.7 ⋅ z(logvolume_24h) + 0.3 ⋅ z(unique_traders_24h)</summary>

</details>

* **Volume Score $O$:**&#x20;

<details>

<summary>O = z(OI)</summary>

</details>

Time Weight adopts a bell-shaped preference (both too near/too far are down-weighted):

* t=hours\_to\_end
*

```
<figure><img src="/files/t4suaIQsNpb13hLUhdhF" alt=""><figcaption></figcaption></figure>
```

* 2-120 hours is optimal, <1h or >30d are significantly down-weighted.

**Momentum and Volatility:**

<details>

<summary>M = 0.5 ⋅ z(∣Δp24h​∣) − 0.2 ⋅ z(volatility_24h)</summary>

</details>

**Base Score:**

<details>

<summary>Base = 0.40L + 0.30H + 0.15O + 0.10time_weight + 0.05M</summary>

</details>

**Penalty and Boost:**

* **Quality/Risk Penalty:**&#x20;

<details>

<summary>Penalty = 1 − min(0.5, α1 ​⋅ invalid_risk + α2​ ⋅ halt_flag + α3 ​ ⋅dispute_flag)                              α1​=0.6, α2​=1, α3​=0.5.</summary>

</details>

* **Curation/Watchlist Boost:**&#x20;

<details>

<summary>Boost = curation_boost + watchlist_boost                (each is a small constant, e.g., 0~0.5)</summary>

</details>

* **Final Score (Not Logged In):**&#x20;

<details>

<summary>Score_All = Base⋅Penalty + Boost</summary>

</details>

* **Final Score (Logged In/Personalization Enabled):**&#x20;

<details>

<summary>Score_All∗ = (1−β)Score_All + βsim(0,x),        β∈[0.2,0.3]</summary>

</details>

### 4.7.4 Thresholds and Guardrails&#x20;

* **Non-compliance Down-weighting:**&#x20;

<details>

<summary>Spread > 0.02 or Depth@1c &#x3C; 800 → Final Score × 0.5</summary>

</details>

* **Strict Exclusion:**&#x20;

<details>

<summary>Halted = 1 or invalid_risk ≥ Threshold → Directly excluded</summary>

</details>

* **Price Invariants**: Ensure markets where `bid_yes + bid_no ≤ 1`  and  `ask_yes + ask_no ≥ 1` are the only ones allowed.
* **Rank Damping**: If rank changes more than 30 positions within 5 minutes, smooth with damping coefficient ρ=0.7.<br>

### 4.7.5 Sorting Modes&#x20;

* **Balanced** (**Default**): Uses Score\_All.
* **Liquidity**: Sort by L in descending order.
* **Volume 24h**: Sort by volume\\\_24h in descending order.
* **Ending Soon**: Sort by hours\\\_to\\\_end in ascending order (with additional thresholds:               Depth\@1c ≥ 1000, Spread ≤ 0.01 ).
* **New**: Sort by created\\\_at in reverse chronological order.
* **OI**: Sort by OI in descending order.

## 4.8 Token Airdrop (TBA)

***

## 4.9 LeaderBoardClub

* Leaderboard & Club PRD-V1.0


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vizo.gitbook.io/vizo-exchange-docs/documentation/basics/markdown.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
