{"id":35330,"date":"2024-11-01T09:37:58","date_gmt":"2024-11-01T09:37:58","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=35330"},"modified":"2024-11-01T11:13:39","modified_gmt":"2024-11-01T11:13:39","slug":"machine-learning-and-deep-learning-algorithm-trading-scraping-yfinance-data-from-yahoo-finance","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/35330\/","title":{"rendered":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance"},"content":{"rendered":"<p><body><\/p>\n<p>The modern financial market has increasingly relied on data-driven decision-making. Advances in machine learning and deep learning technologies have brought innovative changes in developing and optimizing trading strategies. In this course, we will explore in detail how to scrape financial data from Yahoo Finance using the <strong>yfinance<\/strong> library and how to train machine learning and deep learning models with it.<\/p>\n<h2>1. Importance of Machine Learning and Deep Learning in Trading<\/h2>\n<p>Machine learning and deep learning have established themselves as powerful tools for analyzing data and making predictions. The following approaches are used to build models that can predict price movements of stocks, options, and other financial products:<\/p>\n<ul>\n<li><strong>Supervised Learning<\/strong>: Learns from past data and price movements to predict future prices.<\/li>\n<li><strong>Unsupervised Learning<\/strong>: Explores potential trading opportunities by clustering data or discovering patterns.<\/li>\n<li><strong>Reinforcement Learning<\/strong>: An agent interacts with the environment and optimizes strategies through rewards.<\/li>\n<\/ul>\n<h2>2. Installing and Basic Usage of the yfinance Library<\/h2>\n<p><code>yfinance<\/code> is a library that makes it easy to access Yahoo Finance data in Python. It allows for easy retrieval of stock prices, volumes, dividends, and other financial data.<\/p>\n<h3>2.1 Installing the Library<\/h3>\n<pre><code>pip install yfinance<\/code><\/pre>\n<h3>2.2 Basic Data Retrieval<\/h3>\n<p>Now, let\u2019s look at a basic code snippet to retrieve financial data using yfinance.<\/p>\n<pre><code>import yfinance as yf\n\n# Download stock data based on ticker symbol\nticker = 'AAPL'\ndata = yf.download(ticker, start='2020-01-01', end='2023-01-01')\nprint(data.head())<\/code><\/pre>\n<h3>2.3 Data Description<\/h3>\n<p>The code above downloads stock data for Apple Inc. (AAPL) from January 1, 2020, to January 1, 2023. The data consists of the following columns:<\/p>\n<ul>\n<li><strong>Open<\/strong>: Opening price<\/li>\n<li><strong>High<\/strong>: Highest price<\/li>\n<li><strong>Low<\/strong>: Lowest price<\/li>\n<li><strong>Close<\/strong>: Closing price<\/li>\n<li><strong>Adj Close<\/strong>: Adjusted closing price<\/li>\n<li><strong>Volume<\/strong>: Trading volume<\/li>\n<\/ul>\n<h2>3. Data Preprocessing for Building Machine Learning Models<\/h2>\n<p>Before feeding the data into machine learning models, essential preprocessing steps are required. Here are several steps necessary for data preprocessing:<\/p>\n<h3>3.1 Handling Missing Values<\/h3>\n<p>Missing values can degrade the model&#8217;s performance, so it\u2019s important to check for and handle them first.<\/p>\n<pre><code># Check for missing values\nprint(data.isnull().sum())\n\n# Remove missing values\ndata = data.dropna()<\/code><\/pre>\n<h3>3.2 Feature Engineering<\/h3>\n<p>Additional features can be created for price prediction. For example, technical indicators such as moving averages or volatility can be included.<\/p>\n<pre><code>data['SMA_20'] = data['Close'].rolling(window=20).mean()\ndata['SMA_50'] = data['Close'].rolling(window=50).mean()<\/code><\/pre>\n<h3>3.3 Splitting Training Set and Test Set<\/h3>\n<p>To train the model, the data needs to be split into training and test sets. Typically, an 80:20 split is common.<\/p>\n<pre><code>from sklearn.model_selection import train_test_split\n\n# Define features and labels\nX = data[['SMA_20', 'SMA_50']]\ny = data['Close']\n\n# Split into training set and test set\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)<\/code><\/pre>\n<h2>4. Choosing and Training a Machine Learning Model<\/h2>\n<p>Now it&#8217;s time to select and train a machine learning model based on the data. There are various machine learning algorithms; we will use a <strong>linear regression<\/strong> model.<\/p>\n<h3>4.1 Model Selection: Linear Regression<\/h3>\n<pre><code>from sklearn.linear_model import LinearRegression\n\n# Initialize the model\nmodel = LinearRegression()\n\n# Train the model\nmodel.fit(X_train, y_train)<\/code><\/pre>\n<h3>4.2 Model Evaluation<\/h3>\n<p>To evaluate the performance of the trained model, we can use the test set to check the model&#8217;s predictions.<\/p>\n<pre><code>from sklearn.metrics import mean_squared_error\n\n# Predictions\ny_pred = model.predict(X_test)\n\n# Calculate MSE\nmse = mean_squared_error(y_test, y_pred)\nprint(f'Mean Squared Error: {mse:.2f}')  # Output mean squared error<\/code><\/pre>\n<h2>5. Building a Deep Learning Model<\/h2>\n<p>Deep learning models can recognize more complex patterns, making them particularly useful when needed. Let\u2019s build a simple neural network using Keras.<\/p>\n<h3>5.1 Installing Keras<\/h3>\n<pre><code>pip install tensorflow<\/code><\/pre>\n<h3>5.2 Designing the Deep Learning Model<\/h3>\n<p>A multilayer perceptron (MLP) model can be constructed to predict stock prices.<\/p>\n<pre><code>from tensorflow import keras\nfrom tensorflow.keras import layers\n\n# Define the model\nmodel = keras.Sequential([\n    layers.Dense(64, activation='relu', input_shape=(X_train.shape[1],)),\n    layers.Dense(64, activation='relu'),\n    layers.Dense(1)\n])\n\n# Compile the model\nmodel.compile(optimizer='adam', loss='mean_squared_error')\n\n# Train the model\nmodel.fit(X_train, y_train, epochs=100, batch_size=32, validation_split=0.1)<\/code><\/pre>\n<h2>6. Result Analysis and Visualization<\/h2>\n<p>The model&#8217;s prediction results can be visualized for analysis. Predictions can be visually represented using matplotlib or seaborn.<\/p>\n<h3>6.1 Visualization Comparing Predicted and Actual Values<\/h3>\n<pre><code>import matplotlib.pyplot as plt\n\n# Visualizing actual and predicted values\nplt.figure(figsize=(14,7))\nplt.plot(y_test.index, y_test, color='blue', label='Actual Price')\nplt.plot(y_test.index, y_pred, color='red', label='Predicted Price')\nplt.title('Stock Price Prediction')\nplt.xlabel('Date')\nplt.ylabel('Price')\nplt.legend()\nplt.show()<\/code><\/pre>\n<h2>7. Conclusion and Future Directions<\/h2>\n<p>In this course, we looked at collecting financial data using the <strong>yfinance<\/strong> library and training machine learning and deep learning models based on that. These techniques can be used to build an algorithmic trading system, and by continually collecting data and updating models, improved performance can be expected.<\/p>\n<h3>7.1 Learning Tasks<\/h3>\n<ul>\n<li>Try applying various machine learning algorithms (e.g., Random Forest, SVM, etc.).<\/li>\n<li>Add various features and compare model performance.<\/li>\n<li>Perform hyperparameter tuning to improve deep learning models.<\/li>\n<\/ul>\n<h3>7.2 References<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.yahoofinanceapi.com\/\" target=\"_blank\" rel=\"noopener\">Yahoo Finance API<\/a><\/li>\n<li><a href=\"https:\/\/scikit-learn.org\/stable\/\" target=\"_blank\" rel=\"noopener\">Scikit-learn Documentation<\/a><\/li>\n<li><a href=\"https:\/\/keras.io\/\" target=\"_blank\" rel=\"noopener\">Keras Documentation<\/a><\/li>\n<\/ul>\n<p>Now you have a basic understanding of algorithmic trading using machine learning and deep learning, and you\u2019re ready to collect more data through yfinance and practice. Moving forward, try to explore various advanced techniques. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The modern financial market has increasingly relied on data-driven decision-making. Advances in machine learning and deep learning technologies have brought innovative changes in developing and optimizing trading strategies. In this course, we will explore in detail how to scrape financial data from Yahoo Finance using the yfinance library and how to train machine learning and &hellip; <a href=\"https:\/\/atmokpo.com\/w\/35330\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance&#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-35330","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>Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \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\/35330\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"The modern financial market has increasingly relied on data-driven decision-making. Advances in machine learning and deep learning technologies have brought innovative changes in developing and optimizing trading strategies. In this course, we will explore in detail how to scrape financial data from Yahoo Finance using the yfinance library and how to train machine learning and &hellip; \ub354 \ubcf4\uae30 &quot;Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/35330\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:37:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:13:39+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=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance\",\"datePublished\":\"2024-11-01T09:37:58+00:00\",\"dateModified\":\"2024-11-01T11:13:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/\"},\"wordCount\":620,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Deep learning Automated trading\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/\",\"url\":\"https:\/\/atmokpo.com\/w\/35330\/\",\"name\":\"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:37:58+00:00\",\"dateModified\":\"2024-11-01T11:13:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/35330\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/35330\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance\"}]},{\"@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":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \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\/35330\/","og_locale":"ko_KR","og_type":"article","og_title":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"The modern financial market has increasingly relied on data-driven decision-making. Advances in machine learning and deep learning technologies have brought innovative changes in developing and optimizing trading strategies. In this course, we will explore in detail how to scrape financial data from Yahoo Finance using the yfinance library and how to train machine learning and &hellip; \ub354 \ubcf4\uae30 \"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance\"","og_url":"https:\/\/atmokpo.com\/w\/35330\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:37:58+00:00","article_modified_time":"2024-11-01T11:13:39+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":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/35330\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/35330\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance","datePublished":"2024-11-01T09:37:58+00:00","dateModified":"2024-11-01T11:13:39+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/35330\/"},"wordCount":620,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Deep learning Automated trading"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/35330\/","url":"https:\/\/atmokpo.com\/w\/35330\/","name":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:37:58+00:00","dateModified":"2024-11-01T11:13:39+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/35330\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/35330\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/35330\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Machine Learning and Deep Learning Algorithm Trading, Scraping yfinance Data from Yahoo Finance"}]},{"@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\/35330","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=35330"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/35330\/revisions"}],"predecessor-version":[{"id":35331,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/35330\/revisions\/35331"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=35330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=35330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=35330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}