{"id":37883,"date":"2024-11-01T10:01:14","date_gmt":"2024-11-01T10:01:14","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37883"},"modified":"2024-11-01T11:09:09","modified_gmt":"2024-11-01T11:09:09","slug":"automatic-trading-and-backtesting-system-construction-using-deep-learning-and-machine-learning-building-a-backtesting-system-that-validates-the-strategies-of-machine-learning-models-with-historical-d","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37883\/","title":{"rendered":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data."},"content":{"rendered":"<p><body><\/p>\n<p>The cryptocurrency market, such as Bitcoin, offers both opportunities and risks to many traders and investors due to its high volatility and trading volume. Consequently, automated trading systems utilizing machine learning and deep learning algorithms are gaining attention. This article will specifically explain how to design a backtesting system to build such an automated trading system and validate it through machine learning models.<\/p>\n<h2>1. Overview of Automated Trading Systems<\/h2>\n<p>Automated trading (Algorithmic Trading) is a system that performs trades automatically according to pre-set algorithms. This system uses data analysis, technical indicators, and machine learning models to make buy and sell decisions. Cryptocurrency exchanges like Bitcoin provide an environment for programmatic trading through APIs, allowing for the implementation of sample trading strategies.<\/p>\n<h2>2. Necessity of Backtesting Systems<\/h2>\n<p>Backtesting is the process of validating whether a specific strategy was successful based on historical data. Through this, we can answer questions such as:<\/p>\n<ul>\n<li>Was this strategy effective based on past data?<\/li>\n<li>Under what market conditions did the strategy perform well?<\/li>\n<li>How can the strategy be adjusted to minimize losses and maximize profits?<\/li>\n<\/ul>\n<p>In other words, backtesting can verify the reliability and validity of the strategy in advance.<\/p>\n<h2>3. Data Collection<\/h2>\n<p>The first step in building an automated trading system is to collect reliable data. Generally, data can be accessed through exchange APIs. For example, here is a sample code to collect Bitcoin price data using the Binance API:<\/p>\n<pre><code>import requests\nimport pandas as pd\nimport time\n\n# Binance API URL\nurl = 'https:\/\/api.binance.com\/api\/v3\/klines'\n\n# Data collection function\ndef get_historical_data(symbol, interval, start_time, end_time):\n    params = {\n        'symbol': symbol,\n        'interval': interval,\n        'startTime': start_time,\n        'endTime': end_time\n    }\n    \n    response = requests.get(url, params=params)\n    data = response.json()\n    \n    df = pd.DataFrame(data, columns=['Open Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Close Time', \n                                      'Quote Asset Volume', 'Number of Trades', 'Taker Buy Base Vol', \n                                      'Taker Buy Quote Vol', 'Ignore'])\n    df['Open Time'] = pd.to_datetime(df['Open Time'], unit='ms')\n    df['Close Time'] = pd.to_datetime(df['Close Time'], unit='ms')\n    df['Open'] = df['Open'].astype(float)\n    df['High'] = df['High'].astype(float)\n    df['Low'] = df['Low'].astype(float)\n    df['Close'] = df['Close'].astype(float)\n    df['Volume'] = df['Volume'].astype(float)\n    \n    return df\n\n# Example data collection\nstart_time = int(time.time() * 1000) - 30 * 24 * 60 * 60 * 1000  # One month ago\nend_time = int(time.time() * 1000)\ndf = get_historical_data('BTCUSDT', '1h', start_time, end_time)\nprint(df.head())<\/code><\/pre>\n<h2>4. Data Preprocessing<\/h2>\n<p>The collected data must be preprocessed to be suitable for machine learning models. This includes handling missing values, feature engineering, normalization, etc. Here is a simple example of data preprocessing:<\/p>\n<pre><code>def preprocess_data(df):\n    df['Returns'] = df['Close'].pct_change()  # Calculate returns\n    df['Signal'] = 0\n    df['Signal'][1:] = np.where(df['Returns'][1:] > 0, 1, -1)  # Up is 1, down is -1\n    df.dropna(inplace=True)  # Remove missing values\n    \n    features = df[['Open', 'High', 'Low', 'Close', 'Volume']]\n    labels = df['Signal']\n    return features, labels\n\nfeatures, labels = preprocess_data(df)\nprint(features.head())\nprint(labels.head())<\/code><\/pre>\n<h2>5. Training the Machine Learning Model<\/h2>\n<p>After preparing the data, the machine learning model needs to be trained. There are various models available, but we will use the Random Forest model here. Below is an example of the training process:<\/p>\n<pre><code>from sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.metrics import classification_report, accuracy_score\n\n# Split the data into training and testing sets\nX_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42)\n\n# Train the Random Forest model\nrf_model = RandomForestClassifier(n_estimators=100, random_state=42)\nrf_model.fit(X_train, y_train)\n\n# Prediction and evaluation\ny_pred = rf_model.predict(X_test)\nprint(classification_report(y_test, y_pred))\nprint(f'Accuracy: {accuracy_score(y_test, y_pred):.2f}')<\/code><\/pre>\n<h2>6. Building the Backtesting System<\/h2>\n<p>Using the trained model, a system must be built to perform backtesting based on historical data. This will validate the model&#8217;s performance. Here is an example of a simple backtesting system:<\/p>\n<pre><code>def backtest_strategy(df, model):\n    df['Predicted Signal'] = model.predict(features)\n    \n    # Create positions\n    df['Position'] = df['Predicted Signal'].shift(1)\n    df['Market Return'] = df['Returns'] * df['Position']\n    \n    # Calculate cumulative returns\n    df['Cumulative Market Return'] = (1 + df['Market Return']).cumprod()\n    \n    return df\n\nresults = backtest_strategy(df, rf_model)\nprint(results[['Open Time', 'Close', 'Cumulative Market Return']].head())<\/code><\/pre>\n<h2>7. Performance Evaluation<\/h2>\n<p>Visualizing the backtesting results and evaluating performance is an important step. Here is how to visualize cumulative returns using matplotlib:<\/p>\n<pre><code>import matplotlib.pyplot as plt\n\nplt.figure(figsize=(14,7))\nplt.plot(results['Open Time'], results['Cumulative Market Return'], label='Cumulative Market Return', color='blue')\nplt.title('Backtest Cumulative Return')\nplt.xlabel('Date')\nplt.ylabel('Cumulative Return')\nplt.legend()\nplt.show()<\/code><\/pre>\n<h2>8. Strategy Optimization<\/h2>\n<p>Based on the backtesting results, the process of optimizing the strategy is necessary. Here, we will explain how to improve model performance through simple parameter tuning. Techniques such as Grid Search can be applied:<\/p>\n<pre><code>from sklearn.model_selection import GridSearchCV\n\n# Set up parameter grid for hyperparameter tuning\nparam_grid = {\n    'n_estimators': [50, 100, 200],\n    'max_depth': [None, 10, 20, 30],\n}\n\ngrid_search = GridSearchCV(RandomForestClassifier(random_state=42), param_grid, cv=5)\ngrid_search.fit(X_train, y_train)\n\nprint(\"Optimal hyperparameters:\", grid_search.best_params_)\n<\/code><\/pre>\n<h2>9. Conclusion<\/h2>\n<p>This article has explored the construction of Bitcoin automated trading and backtesting systems using machine learning and deep learning. We detailed the steps from data collection to preprocessing, model training, backtesting, performance evaluation, and optimization. Through this process, a stable and efficient trading strategy can be implemented. We hope for opportunities to use more advanced models or create more complex strategies in the future.<\/p>\n<p>The success of all systems heavily relies on the quality of the data, the chosen model, and the validity of the strategy, so continuous monitoring and improvement are necessary.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The cryptocurrency market, such as Bitcoin, offers both opportunities and risks to many traders and investors due to its high volatility and trading volume. Consequently, automated trading systems utilizing machine learning and deep learning algorithms are gaining attention. This article will specifically explain how to design a backtesting system to build such an automated trading &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37883\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-37883","post","type-post","status-publish","format-standard","hentry","category-deep-learning-automated-trading"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/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:\/\/atmokpo.com\/w\/37883\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"The cryptocurrency market, such as Bitcoin, offers both opportunities and risks to many traders and investors due to its high volatility and trading volume. Consequently, automated trading systems utilizing machine learning and deep learning algorithms are gaining attention. This article will specifically explain how to design a backtesting system to build such an automated trading &hellip; \ub354 \ubcf4\uae30 &quot;Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37883\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T10:01:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:09:09+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.\",\"datePublished\":\"2024-11-01T10:01:14+00:00\",\"dateModified\":\"2024-11-01T11:09:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/\"},\"wordCount\":518,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Deep learning Automated trading\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37883\/\",\"name\":\"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T10:01:14+00:00\",\"dateModified\":\"2024-11-01T11:09:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37883\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37883\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/37883\/","og_locale":"ko_KR","og_type":"article","og_title":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"The cryptocurrency market, such as Bitcoin, offers both opportunities and risks to many traders and investors due to its high volatility and trading volume. Consequently, automated trading systems utilizing machine learning and deep learning algorithms are gaining attention. This article will specifically explain how to design a backtesting system to build such an automated trading &hellip; \ub354 \ubcf4\uae30 \"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.\"","og_url":"https:\/\/atmokpo.com\/w\/37883\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T10:01:14+00:00","article_modified_time":"2024-11-01T11:09:09+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37883\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37883\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data.","datePublished":"2024-11-01T10:01:14+00:00","dateModified":"2024-11-01T11:09:09+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37883\/"},"wordCount":518,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Deep learning Automated trading"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37883\/","url":"https:\/\/atmokpo.com\/w\/37883\/","name":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data. - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T10:01:14+00:00","dateModified":"2024-11-01T11:09:09+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37883\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37883\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37883\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Automatic trading and backtesting system construction using deep learning and machine learning. Building a backtesting system that validates the strategies of machine learning models with historical data."}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=37883"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37883\/revisions"}],"predecessor-version":[{"id":37884,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37883\/revisions\/37884"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}