Install
openclaw skills install odds-converterConvert between American odds, decimal odds, fractional odds, implied probability, and Kalshi contract prices. Use when asked to convert odds formats, explain what odds mean, or compare odds across platforms.
openclaw skills install odds-converterConvert between any odds format: American (+150, -200), decimal (2.50), fractional (3/2), implied probability (40%), and Kalshi contract price ($0.40).
Use this skill when the user asks about:
Convert a single American odds value to every other format. Replace ODDS with the value (e.g., -150 or +200):
python3 -c "
odds = ODDS
if odds < 0:
impl = abs(odds) / (abs(odds) + 100)
elif odds > 0:
impl = 100 / (odds + 100)
else:
impl = 0.5
dec = round(1 / impl, 4) if impl > 0 else 0
from fractions import Fraction
frac = Fraction(1 - impl, impl).limit_denominator(100) if impl > 0 else 'N/A'
kalshi = round(impl, 2)
print(f'American: {odds:+d}')
print(f'Decimal: {dec}')
print(f'Fractional: {frac}')
print(f'Implied Prob: {impl*100:.2f}%')
print(f'Kalshi Price: \${kalshi}')
"
Convert decimal odds to every other format. Replace DEC with the value (e.g., 2.50):
python3 -c "
dec = DEC
impl = 1 / dec if dec > 0 else 0
if impl > 0.5:
amer = round(-(impl / (1 - impl)) * 100)
elif impl < 0.5:
amer = round(((1 - impl) / impl) * 100)
else:
amer = 100
from fractions import Fraction
frac = Fraction(dec - 1).limit_denominator(100) if dec > 1 else '0/1'
kalshi = round(impl, 2)
print(f'Decimal: {dec}')
print(f'American: {amer:+d}')
print(f'Fractional: {frac}')
print(f'Implied Prob: {impl*100:.2f}%')
print(f'Kalshi Price: \${kalshi}')
"
Convert fractional odds to every other format. Replace NUM and DEN with numerator and denominator (e.g., 3 and 2 for 3/2):
python3 -c "
num, den = NUM, DEN
dec = round((num / den) + 1, 4)
impl = den / (num + den)
if impl > 0.5:
amer = round(-(impl / (1 - impl)) * 100)
elif impl < 0.5:
amer = round(((1 - impl) / impl) * 100)
else:
amer = 100
kalshi = round(impl, 2)
print(f'Fractional: {num}/{den}')
print(f'Decimal: {dec}')
print(f'American: {amer:+d}')
print(f'Implied Prob: {impl*100:.2f}%')
print(f'Kalshi Price: \${kalshi}')
"
Convert an implied probability to every other format. Replace PROB with the probability as a decimal (e.g., 0.40 for 40%):
python3 -c "
impl = PROB
dec = round(1 / impl, 4) if impl > 0 else 0
if impl > 0.5:
amer = round(-(impl / (1 - impl)) * 100)
elif impl < 0.5:
amer = round(((1 - impl) / impl) * 100)
else:
amer = 100
from fractions import Fraction
frac = Fraction(1 - impl, impl).limit_denominator(100) if impl > 0 else 'N/A'
kalshi = round(impl, 2)
print(f'Implied Prob: {impl*100:.2f}%')
print(f'American: {amer:+d}')
print(f'Decimal: {dec}')
print(f'Fractional: {frac}')
print(f'Kalshi Price: \${kalshi}')
"
Convert a list of American odds values to all formats at once. Replace the list with actual values:
python3 -c "
odds_list = [-150, +200, -110, +300, -400]
print(f'{\"American\":>10} {\"Decimal\":>10} {\"Implied\":>10} {\"Kalshi\":>10} {\"Fractional\":>12}')
print('-' * 56)
for odds in odds_list:
if odds < 0:
impl = abs(odds) / (abs(odds) + 100)
elif odds > 0:
impl = 100 / (odds + 100)
else:
impl = 0.5
dec = round(1 / impl, 4)
from fractions import Fraction
frac = Fraction(1 - impl, impl).limit_denominator(100)
kalshi = round(impl, 2)
print(f'{odds:>+10d} {dec:>10.2f} {impl*100:>9.1f}% {\"$\" + str(kalshi):>10} {str(frac):>12}')
"
Built by AgentBets — full tutorial at agentbets.ai/guides/openclaw-odds-converter-skill/.
Part of the OpenClaw Skills series for the Agent Betting Stack.