getOutcomeProbabilityAfterBet
This commit is contained in:
parent
f40a65cc88
commit
a7e7fc0c90
|
@ -8,13 +8,14 @@ export function getCpmmProbability(pool: { [outcome: string]: number }) {
|
||||||
return NO / (YES + NO)
|
return NO / (YES + NO)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getCpmmProbabilityAfterBet(
|
export function getCpmmOutcomeProbabilityAfterBet(
|
||||||
contract: FullContract<CPMM, Binary>,
|
contract: FullContract<CPMM, Binary>,
|
||||||
outcome: string,
|
outcome: string,
|
||||||
bet: number
|
bet: number
|
||||||
) {
|
) {
|
||||||
const { newPool } = calculateCpmmPurchase(contract, bet, outcome)
|
const { newPool } = calculateCpmmPurchase(contract, bet, outcome)
|
||||||
return getCpmmProbability(newPool)
|
const p = getCpmmProbability(newPool)
|
||||||
|
return outcome === 'NO' ? 1 - p : p
|
||||||
}
|
}
|
||||||
|
|
||||||
export function calculateCpmmShares(
|
export function calculateCpmmShares(
|
||||||
|
|
|
@ -19,7 +19,7 @@ export function getDpmOutcomeProbability(
|
||||||
return shares ** 2 / squareSum
|
return shares ** 2 / squareSum
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDpmProbabilityAfterBet(
|
export function getDpmOutcomeProbabilityAfterBet(
|
||||||
totalShares: {
|
totalShares: {
|
||||||
[outcome: string]: number
|
[outcome: string]: number
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,7 +3,7 @@ import {
|
||||||
calculateCpmmShares,
|
calculateCpmmShares,
|
||||||
calculateCpmmShareValue,
|
calculateCpmmShareValue,
|
||||||
getCpmmProbability,
|
getCpmmProbability,
|
||||||
getCpmmProbabilityAfterBet,
|
getCpmmOutcomeProbabilityAfterBet,
|
||||||
getCpmmProbabilityAfterSale,
|
getCpmmProbabilityAfterSale,
|
||||||
} from './calculate-cpmm'
|
} from './calculate-cpmm'
|
||||||
import {
|
import {
|
||||||
|
@ -13,7 +13,7 @@ import {
|
||||||
calculateDpmShares,
|
calculateDpmShares,
|
||||||
getDpmOutcomeProbability,
|
getDpmOutcomeProbability,
|
||||||
getDpmProbability,
|
getDpmProbability,
|
||||||
getDpmProbabilityAfterBet,
|
getDpmOutcomeProbabilityAfterBet,
|
||||||
getDpmProbabilityAfterSale,
|
getDpmProbabilityAfterSale,
|
||||||
} from './calculate-dpm'
|
} from './calculate-dpm'
|
||||||
import {
|
import {
|
||||||
|
@ -42,18 +42,18 @@ export function getOutcomeProbability(contract: Contract, outcome: string) {
|
||||||
: getDpmOutcomeProbability(contract.totalShares, outcome)
|
: getDpmOutcomeProbability(contract.totalShares, outcome)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getProbabilityAfterBet(
|
export function getOutcomeProbabilityAfterBet(
|
||||||
contract: Contract,
|
contract: Contract,
|
||||||
outcome: string,
|
outcome: string,
|
||||||
bet: number
|
bet: number
|
||||||
) {
|
) {
|
||||||
return contract.mechanism === 'cpmm-1'
|
return contract.mechanism === 'cpmm-1'
|
||||||
? getCpmmProbabilityAfterBet(
|
? getCpmmOutcomeProbabilityAfterBet(
|
||||||
contract as FullContract<CPMM, Binary>,
|
contract as FullContract<CPMM, Binary>,
|
||||||
outcome,
|
outcome,
|
||||||
bet
|
bet
|
||||||
)
|
)
|
||||||
: getDpmProbabilityAfterBet(contract.totalShares, outcome, bet)
|
: getDpmOutcomeProbabilityAfterBet(contract.totalShares, outcome, bet)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function calculateShares(
|
export function calculateShares(
|
||||||
|
|
|
@ -23,7 +23,7 @@ import {
|
||||||
calculatePayoutAfterCorrectBet,
|
calculatePayoutAfterCorrectBet,
|
||||||
calculateShares,
|
calculateShares,
|
||||||
getProbability,
|
getProbability,
|
||||||
getProbabilityAfterBet,
|
getOutcomeProbabilityAfterBet,
|
||||||
} from '../../common/calculate'
|
} from '../../common/calculate'
|
||||||
import { useFocus } from '../hooks/use-focus'
|
import { useFocus } from '../hooks/use-focus'
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ export function BetPanel(props: {
|
||||||
|
|
||||||
const initialProb = getProbability(contract)
|
const initialProb = getProbability(contract)
|
||||||
|
|
||||||
const outcomeProb = getProbabilityAfterBet(
|
const outcomeProb = getOutcomeProbabilityAfterBet(
|
||||||
contract,
|
contract,
|
||||||
betChoice || 'YES',
|
betChoice || 'YES',
|
||||||
betAmount ?? 0
|
betAmount ?? 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user