{"id":18306,"date":"2026-03-27T15:10:22","date_gmt":"2026-03-27T15:10:22","guid":{"rendered":"https:\/\/www.simtrade.fr\/blog_simtrade\/?p=18306"},"modified":"2026-04-01T21:49:41","modified_gmt":"2026-04-01T21:49:41","slug":"amm","status":"publish","type":"post","link":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/","title":{"rendered":"AMM"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>Calculateur AMM<\/title>\n  <style>\n    :root {\n      --bg: #f6f8fb;\n      --card: #ffffff;\n      --border: #d9e0ea;\n      --text: #1f2937;\n      --muted: #6b7280;\n      --accent: #2563eb;\n    }\n    * { box-sizing: border-box; }\n    body {\n      margin: 0;\n      padding: 24px;\n      font-family: Arial, Helvetica, sans-serif;\n      background: var(--bg);\n      color: var(--text);\n    }\n    .container {\n      max-width: 980px;\n      margin: 0 auto;\n    }\n    h1 {\n      margin: 0 0 6px;\n      font-size: 24px;\n    }\n    p.note {\n      margin: 0 0 12px;\n      color: var(--muted);\n      line-height: 1.5;\n    }\n    .grid {\n      display: grid;\n      grid-template-columns: 1fr;\n      gap: 12px;\n    }\n    .card {\n      background: var(--card);\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      padding: 14px;\n      box-shadow: 0 4px 14px rgba(0,0,0,0.05);\n    }\n    .card h2 {\n      margin-top: 0;\n      font-size: 20px;\n    }\n    .field {\n      margin-bottom: 4px;\n    }\n    .card .field:last-child {\n      margin-bottom: 0;\n    }\n    label {\n      display: block;\n      font-weight: 600;\n      margin-bottom: 6px;\n    }\n    input:not([type=\"radio\"]), select {\n      width: 100%;\n      padding: 4px 8px;\n      height: 28px;\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      font-size: 15px;\n      background: #fff;\n    }\n    input:not([type=\"radio\"])[readonly] {\n      background: #f9fafb;\n      font-weight: 600;\n    }\n    .equation {\n      margin-top: 12px;\n      padding: 12px;\n      background: #f9fafb;\n      border-radius: 10px;\n      font-family: \"Courier New\", monospace;\n      font-size: 14px;\n      line-height: 1.5;\n      color: #111827;\n    }\n    .warning {\n      margin-top: 10px;\n      color: #b91c1c;\n      font-size: 14px;\n      min-height: 0;\n    }\n    .small {\n      color: var(--muted);\n      font-size: 13px;\n      line-height: 1.45;\n    }\n    .result-highlight {\n      font-size: 22px;\n      font-weight: 700;\n      color: var(--accent);\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"container\">\n    <h1>Calculateur AMM \u00e0 produit constant<\/h1>\n    <p class=\"note\">\n      Cette application calcule le prix moyen de transaction et le prix final (prix marginal apr\u00e8s transaction)\n      pour un AMM de type <strong>x \u00d7 y = k<\/strong> avec la convention suivante :\n      <strong>achat<\/strong> = l&#8217;utilisateur ach\u00e8te l&#8217;actif <em>x<\/em> et paie en <em>y<\/em>,\n      <strong>vente<\/strong> = l&#8217;utilisateur vend l&#8217;actif <em>x<\/em> et re\u00e7oit en <em>y<\/em>.\n    <\/p>\n\n    <div class=\"grid\">\n      <section class=\"card\">\n        <h2 style=\"font-weight:700;\">Param\u00e8tres du pool<\/h2>\n        <div class=\"field\">\n          <label for=\"x0\" style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">R\u00e9serve initiale de l&#8217;actif x (ETH)<\/label>\n          <input id=\"x0\" type=\"text\" value=\"10\" readonly style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n        <div class=\"field\">\n          <label for=\"y0\" style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">R\u00e9serve initiale de l&#8217;actif y (USDC)<\/label>\n          <input id=\"y0\" type=\"text\" value=\"20000\" readonly style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n      <\/section>\n\n      <section class=\"card\">\n        <h2 style=\"font-weight:700;\">Transaction<\/h2>\n        <div class=\"field\" style=\"white-space:nowrap;\">\n          <label style=\"font-weight:400; display:inline-block; margin-bottom:0; margin-right:10px;\">Direction<\/label>\n          <label style=\"font-weight:400; margin-right:20px; display:inline-flex; align-items:center;\">\n            <input type=\"radio\" name=\"direction\" value=\"achat\" checked style=\"margin-right:5px;\"\/> Achat\n          <\/label>\n          <label style=\"font-weight:400; display:inline-flex; align-items:center;\">\n            <input type=\"radio\" name=\"direction\" value=\"vente\" style=\"margin-right:5px;\"\/> Vente\n          <\/label>\n        <\/div>\n        <div class=\"field\">\n          <label for=\"quantity\" style=\"font-weight:400; display:inline-block; width:60%; margin-bottom:0;\">Quantit\u00e9 \u00e9chang\u00e9e (\u0394x)<\/label>\n          <input id=\"quantity\" type=\"number\" step=\"any\" value=\"1\" min=\"0\" style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n        <div class=\"warning\" id=\"warning\"><\/div>\n      <\/section>\n\n      <section class=\"card\">\n        <h2 style=\"font-weight:700;\">R\u00e9sultats<\/h2>\n        <div class=\"field\">\n          <label for=\"avgPrice\" style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">Prix moyen de la transaction<\/label>\n          <input id=\"avgPrice\" type=\"text\" readonly style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n        <div class=\"field\">\n          <label for=\"finalPrice\" style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">Prix final apr\u00e8s transaction<\/label>\n          <input id=\"finalPrice\" type=\"text\" readonly style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n        <div class=\"field\">\n          <label for=\"cashFlow\" style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">Montant total \u00e9chang\u00e9<\/label>\n          <input id=\"cashFlow\" type=\"text\" readonly style=\"display:inline-block; width:35%; text-align:right;\" \/>\n        <\/div>\n        <div id=\"resultsBox\"><\/div>\n      <\/section>\n\n      <section class=\"card\">\n        <h2 style=\"font-weight:700;\">Graphique<\/h2>\n        <div style=\"height:260px;\">\n          <canvas id=\"priceChart\"><\/canvas>\n        <\/div>\n      <\/section>\n    <\/div>\n  <\/div>\n\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n  <script>\n    const x0Input = document.getElementById('x0');\n    const y0Input = document.getElementById('y0');\n    const assetX = 'ETH';\n    const assetY = 'USDC';\n    const directionInputs = document.getElementsByName('direction');\n    const quantityInput = document.getElementById('quantity');\n\n    const avgPriceOutput = document.getElementById('avgPrice');\n    const finalPriceOutput = document.getElementById('finalPrice');\n    const cashFlowOutput = document.getElementById('cashFlow');\n\n    const resultsBox = document.getElementById('resultsBox');\n    const warningBox = document.getElementById('warning');\n\n    function formatNumber(value, decimals = 2) {\n      if (!Number.isFinite(value)) return '';\n      return new Intl.NumberFormat('fr-FR', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: decimals\n      }).format(value);\n    }\n\n    function calculate() {\n      const x0 = parseFloat(x0Input.value);\n      const y0 = parseFloat(y0Input.value);\n      const q = parseFloat(quantityInput.value);\n      let direction = 'achat';\n      directionInputs.forEach(el => { if (el.checked) direction = el.value; });\n      \n\n      warningBox.textContent = '';\n      avgPriceOutput.value = '';\n      finalPriceOutput.value = '';\n      cashFlowOutput.value = '';\n      resultsBox.innerHTML = '';\n\n      if (!(x0 > 0) || !(y0 > 0)) {\n        warningBox.textContent = 'Les r\u00e9serves initiales doivent \u00eatre strictement positives.';\n        return;\n      }\n      if (!(q >= 0)) {\n        warningBox.textContent = 'La quantit\u00e9 doit \u00eatre positive ou nulle.';\n        return;\n      }\n\n      const k = x0 * y0;\n\n      let xPrime, yPrime, avgPrice, finalPrice, cashFlow;\n\n      if (direction === 'achat') {\n        if (q >= x0) {\n          warningBox.textContent = 'La quantit\u00e9 achet\u00e9e doit \u00eatre strictement inf\u00e9rieure \u00e0 la r\u00e9serve initiale de x.';\n          return;\n        }\n        xPrime = x0 - q;\n        yPrime = k \/ xPrime;\n        cashFlow = yPrime - y0;\n        avgPrice = q === 0 ? y0 \/ x0 : cashFlow \/ q;\n        finalPrice = yPrime \/ xPrime;\n        cashFlowOutput.value = `${formatNumber(cashFlow)} ${assetY} pay\u00e9s`;\n      } else {\n        xPrime = x0 + q;\n        yPrime = k \/ xPrime;\n        cashFlow = y0 - yPrime;\n        avgPrice = q === 0 ? y0 \/ x0 : cashFlow \/ q;\n        finalPrice = yPrime \/ xPrime;\n        cashFlowOutput.value = `${formatNumber(cashFlow)} ${assetY} re\u00e7us`;\n      }\n\n      avgPriceOutput.value = `${formatNumber(avgPrice)} ${assetY} \/ ${assetX}`;\n      finalPriceOutput.value = `${formatNumber(finalPrice)} ${assetY} \/ ${assetX}`;\n\n      resultsBox.innerHTML = `\n        <div class=\"field\">\n          <label style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">R\u00e9serve finale de l\u2019actif x (ETH)<\/label>\n          <input type=\"text\" value=\"${formatNumber(xPrime)}\" readonly style=\"display:inline-block; width:35%; text-align:right; background:#f9fafb;\" \/>\n        <\/div>\n        <div class=\"field\">\n          <label style=\"display:inline-block; width:60%; margin-bottom:0; font-weight:400;\">R\u00e9serve finale de l\u2019actif y (USDC)<\/label>\n          <input type=\"text\" value=\"${formatNumber(yPrime)}\" readonly style=\"display:inline-block; width:35%; text-align:right; background:#f9fafb;\" \/>\n        <\/div>\n      `;\n\n      buildChart(x0, y0);\n    }\n\n    [x0Input, y0Input, quantityInput, ...directionInputs].forEach(el => {\n      el.addEventListener('input', calculate);\n      el.addEventListener('change', calculate);\n    });\n\n    let priceChart;\n\n    function buildChart(x0, y0) {\n      const quantities = [];\n      const avgPrices = [];\n      const finalPrices = [];\n      const k = x0 * y0;\n\n      for (let q = -5; q <= 5; q += 1) {\n        let avgPrice;\n        let finalPrice;\n\n        if (q === 0) {\n          avgPrice = y0 \/ x0;\n          finalPrice = y0 \/ x0;\n        } else if (q > 0) {\n          if (q >= x0) continue;\n          const xPrime = x0 - q;\n          const yPrime = k \/ xPrime;\n          avgPrice = (yPrime - y0) \/ q;\n          finalPrice = yPrime \/ xPrime;\n        } else {\n          const sellQty = Math.abs(q);\n          const xPrime = x0 + sellQty;\n          const yPrime = k \/ xPrime;\n          avgPrice = (y0 - yPrime) \/ sellQty;\n          finalPrice = yPrime \/ xPrime;\n        }\n\n        quantities.push(q);\n        avgPrices.push(Number(avgPrice.toFixed(2)));\n        finalPrices.push(Number(finalPrice.toFixed(2)));\n      }\n\n      const ctx = document.getElementById('priceChart').getContext('2d');\n      if (priceChart) priceChart.destroy();\n\n      priceChart = new Chart(ctx, {\n        type: 'line',\n        data: {\n          labels: quantities,\n          datasets: [\n            {\n              label: 'Prix moyen de la transaction',\n              data: avgPrices,\n              borderWidth: 2,\n              tension: 0.2,\n              fill: false\n            },\n            {\n              label: 'Prix final apr\u00e8s transaction',\n              data: finalPrices,\n              borderWidth: 2,\n              tension: 0.2,\n              fill: false\n            }\n          ]\n        },\n        options: {\n          responsive: true,\n          maintainAspectRatio: false,\n          plugins: {\n            legend: { position: 'top' }\n          },\n          scales: {\n            x: {\n              title: {\n                display: true,\n                text: 'Quantit\u00e9 \u00e9chang\u00e9e (\u0394x)'\n              }\n            },\n            y: {\n              title: {\n                display: true,\n                text: 'Prix (USDC \/ ETH)'\n              }\n            }\n          }\n        }\n      });\n    }\n\n    calculate();\n  <\/script><\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Calculateur AMM Calculateur AMM \u00e0 produit constant Cette application calcule le prix moyen de transaction et le prix final (prix marginal apr\u00e8s transaction) pour un AMM de type x \u00d7 y = k avec la convention suivante : achat = l&#8217;utilisateur ach\u00e8te l&#8217;actif x et paie en y, vente = l&#8217;utilisateur vend l&#8217;actif x et &#8230; <a title=\"AMM\" class=\"read-more\" href=\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\" aria-label=\"Read more about AMM\">Read more<\/a><\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-18306","post","type-post","status-publish","format-standard","hentry","category-contributors"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AMM - SimTrade blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AMM\" \/>\n<meta property=\"og:description\" content=\"Calculateur AMM Calculateur AMM \u00e0 produit constant Cette application calcule le prix moyen de transaction et le prix final (prix marginal apr\u00e8s transaction) pour un AMM de type x \u00d7 y = k avec la convention suivante : achat = l&#8217;utilisateur ach\u00e8te l&#8217;actif x et paie en y, vente = l&#8217;utilisateur vend l&#8217;actif x et ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\" \/>\n<meta property=\"og:site_name\" content=\"SimTrade blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fr-fr.facebook.com\/simtrade.fr\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-27T15:10:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-01T21:49:41+00:00\" \/>\n<meta name=\"author\" content=\"Fran\u00e7ois Longin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@simtrade\" \/>\n<meta name=\"twitter:site\" content=\"@simtrade\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fran\u00e7ois Longin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\"},\"author\":{\"name\":\"Fran\u00e7ois Longin\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/person\/f3e366e753d73950d02266a0e3ad7945\"},\"headline\":\"AMM\",\"datePublished\":\"2026-03-27T15:10:22+00:00\",\"dateModified\":\"2026-04-01T21:49:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\"},\"wordCount\":104,\"publisher\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization\"},\"articleSection\":[\"Contributors\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\",\"url\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\",\"name\":\"AMM - SimTrade blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#website\"},\"datePublished\":\"2026-03-27T15:10:22+00:00\",\"dateModified\":\"2026-04-01T21:49:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AMM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#website\",\"url\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/\",\"name\":\"SimTrade blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization\",\"name\":\"SimTrade\",\"url\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-content\/uploads\/2014\/01\/cropped-cropped-Banner_blog_SimTrade2.jpg\",\"contentUrl\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-content\/uploads\/2014\/01\/cropped-cropped-Banner_blog_SimTrade2.jpg\",\"width\":940,\"height\":126,\"caption\":\"SimTrade\"},\"image\":{\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/fr-fr.facebook.com\/simtrade.fr\/\",\"https:\/\/x.com\/simtrade\",\"https:\/\/www.linkedin.com\/company\/sim-trade\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/person\/f3e366e753d73950d02266a0e3ad7945\",\"name\":\"Fran\u00e7ois Longin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g\",\"caption\":\"Fran\u00e7ois Longin\"},\"url\":\"https:\/\/www.simtrade.fr\/blog_simtrade\/author\/admin_fl\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AMM - SimTrade blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/","og_locale":"en_US","og_type":"article","og_title":"AMM","og_description":"Calculateur AMM Calculateur AMM \u00e0 produit constant Cette application calcule le prix moyen de transaction et le prix final (prix marginal apr\u00e8s transaction) pour un AMM de type x \u00d7 y = k avec la convention suivante : achat = l&#8217;utilisateur ach\u00e8te l&#8217;actif x et paie en y, vente = l&#8217;utilisateur vend l&#8217;actif x et ... Read more","og_url":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/","og_site_name":"SimTrade blog","article_publisher":"https:\/\/fr-fr.facebook.com\/simtrade.fr\/","article_published_time":"2026-03-27T15:10:22+00:00","article_modified_time":"2026-04-01T21:49:41+00:00","author":"Fran\u00e7ois Longin","twitter_card":"summary_large_image","twitter_creator":"@simtrade","twitter_site":"@simtrade","twitter_misc":{"Written by":"Fran\u00e7ois Longin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#article","isPartOf":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/"},"author":{"name":"Fran\u00e7ois Longin","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/person\/f3e366e753d73950d02266a0e3ad7945"},"headline":"AMM","datePublished":"2026-03-27T15:10:22+00:00","dateModified":"2026-04-01T21:49:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/"},"wordCount":104,"publisher":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization"},"articleSection":["Contributors"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/","url":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/","name":"AMM - SimTrade blog","isPartOf":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#website"},"datePublished":"2026-03-27T15:10:22+00:00","dateModified":"2026-04-01T21:49:41+00:00","breadcrumb":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/amm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.simtrade.fr\/blog_simtrade\/"},{"@type":"ListItem","position":2,"name":"AMM"}]},{"@type":"WebSite","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#website","url":"https:\/\/www.simtrade.fr\/blog_simtrade\/","name":"SimTrade blog","description":"","publisher":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.simtrade.fr\/blog_simtrade\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#organization","name":"SimTrade","url":"https:\/\/www.simtrade.fr\/blog_simtrade\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/logo\/image\/","url":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-content\/uploads\/2014\/01\/cropped-cropped-Banner_blog_SimTrade2.jpg","contentUrl":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-content\/uploads\/2014\/01\/cropped-cropped-Banner_blog_SimTrade2.jpg","width":940,"height":126,"caption":"SimTrade"},"image":{"@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/fr-fr.facebook.com\/simtrade.fr\/","https:\/\/x.com\/simtrade","https:\/\/www.linkedin.com\/company\/sim-trade"]},{"@type":"Person","@id":"https:\/\/www.simtrade.fr\/blog_simtrade\/#\/schema\/person\/f3e366e753d73950d02266a0e3ad7945","name":"Fran\u00e7ois Longin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cbbf5d3d1ff1f30df6f62a631fcb884a85e32c544c062fb313a6ee63406dc083?s=96&d=mm&r=g","caption":"Fran\u00e7ois Longin"},"url":"https:\/\/www.simtrade.fr\/blog_simtrade\/author\/admin_fl\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/posts\/18306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/comments?post=18306"}],"version-history":[{"count":44,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/posts\/18306\/revisions"}],"predecessor-version":[{"id":18350,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/posts\/18306\/revisions\/18350"}],"wp:attachment":[{"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/media?parent=18306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/categories?post=18306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.simtrade.fr\/blog_simtrade\/wp-json\/wp\/v2\/tags?post=18306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}