Market Juncture – Important Turn End July/Beginning August?

Market Juncture – 23. July 2020

S&P 500

Cycles: 170 days & 36 days

S&P500 23 June 2020 - 170 & 36 days cycle

S&P500 23 July 2020 – 170 & 36 days cycle

 

NASDAQ Composite Index

Cycles: 170 days & 36 days

Nasdaq Composite Index Cycle - 166 days

Nasdaq Composite Index Cycle – 166 days

VIX Index

Cycles: 178 days

VIX Index 23 June 2020

VIX Index 23 July 2020 – 178 days cycle

Predictive power of cycles in financial markets during the Covid19 pandemic

The video session explains how cycle analysis provided valuable information for navigating the financial markets in February and March during the Covid19 crisis.

The Cycle Scanner was used with default settings to determine the active cycles of the financial markets before the pandemic reached Europe and the US in February 2020. Analysis is based on the analysis of the S&P500 index and the Sentiment VIX index.

Duration: 25min

How to use the cycle analysis API with Python

Call the raw CycleExplorer endpoint.
The example will pull eod data from yahoo api first and send to the cycle analsis api to get current dominant cycle:


import requests
import json
import yfinance as yf

#put your cycle.tools API key
cycleAPIkey = 'YOUR_API_KEY'

#set cycle.tools API url endpoint
url = f"https://api.cycle.tools/api/cycles/CycleExplorer?
       dynamicInSampleMethod=true
       &api_key={cycleAPIkey}"

#define the yahoo ticker symbol, e.g. SP 500 = ^GSPC
tickerSymbol = "^GSPC"

#get data on this ticker
tickerData = yf.Ticker(tickerSymbol)

#get the historical prices for this ticker
tickerDf = tickerData.history(interval="1d", period="5y")

#get close data as json doubele array
jsondata = tickerDf['Close'].to_json(orient='records')

#call CycleExplorer endpoint to get current dominant cycle
r= requests.post(url, data=jsondata, 
         headers={'Content-Type':'application/json'})

#get the dominant cycle return data
dominantCycle = r.json()
dominantCycleLength = dominantCycle['length']

#print the current dominant cycle length
print(f"Dominant Cycle Length: {dominantCycleLength}")

#print the json the results
print()
print(json.dumps(r.json(), indent=4, sort_keys=True))

Example output looks like:

Dominant Cycle Length: 165.0

{
 "amplitude": 146.00174004966559,
 "analysisEndDate": "2020-05-03T17:02:20.6771012+00:00",
 "analysisStartDate": "0001-01-01T00:00:00",
 "barsAvailable": 0,
 "barsused": 750,
 "currentPrice": 2830.71,
 "cycleProfitability": 0.75,
 "lastlow": -5.6668009766674174,
 "lasttop": -88.16680097666742,
 "length": 165.0,
 "license": "api.cycle.tools :You agree to the API usage terms and conditions from host ",
 "minbaroffset": 170.66680097666742,
 "nextlow": 159.33319902333258,
 "nexttop": 76.83319902333258,
 "phase": -1.3169251392646713,
 "phase_score": -100,
 "phase_status": "BOTTOM_Departure",
 "phasingScore": 135,
 "statusCode": null,
 "symbol": "manual",
 "timeSeries": []
}

Call the MarketCycles endpoint:
The example will use the integrated crypto datafeed to get the current dominant cycle in Bitcoin.


import requests
import json

#put your cycle.tools API key
cycleAPIkey = 'YOUR_API_KEY'
symbol="BTC" # Bitcoin
market="CDS" # Crypto

#set cycle.tools API url endpoint
url = f"https://api.cycle.tools/api/cycles/MarketCycles/{symbol}?marketType={market}&api_key={cycleAPIkey}"

#call MarketCycles endpoint to get current dominant cycle
r= requests.get(url)

#get the dominant cycle return data
marketCycle = r.json()
marketCycleLength = marketCycle['length']

#print the current dominant cycle length
print(f"Dominant Cycle Length: {marketCycleLength}")

#print the json the results
print()
print(json.dumps(r.json(), indent=4, sort_keys=True))

Example output:

Dominant Cycle Length: 39.0

{
    "amplitude": 418.6291962393411,
    "analysisEndDate": "2020-05-01T00:00:00",
    "analysisStartDate": "2016-11-28T00:00:00Z",
    "barsAvailable": 750,
    "barsused": 750,
    "currentPrice": 8728.58,
    "cycleProfitability": 0.7105263157894737,
    "lastlow": -7.758826601781372,
    "lasttop": -27.258826601781372,
    "length": 39.0,
    "license": "****** : You agree to the API usage terms and conditions from api.cycle.tools",
    "minbaroffset": 46.75882660178137,
    "nextlow": 31.241173398218628,
    "nexttop": 11.741173398218628,
    "phase": -0.15968528545011673,
    "phase_score": 40,
    "phase_status": "Uptrend_Neutral",
    "phasingScore": 0,
    "statusCode": "OK",
    "symbol": "BTC",
    "timeSeries": []
}

Why Covid 19 and The Markets Come Together in Global Crisis By Andrew Pancholi

This video explains how geopolitical cycles have come together creating the greatest crisis of this century. The aim behind this is to provide understanding of why this is happening. This in turn will provide hope and show that there will be light at the end of the tunnel for the very many people suffering physically and also economically. It is important to remember that everything moves in cycles. Andrew Pancholi from The Market Timing Report explains how all these cycles have come together. He has been forewarning his followers for several years. Please share this video. This way people will understand why these events are occurring and most importantly that we will recover. Andrew Pancholi is a board member of the Foundation for the Study of Cycles. He is co-author of the bestselling book Zero Hour with Harry Dent. He is the creator of the highly acclaimed Market Timing Report.

Integrated data sources and available symbols

The cycle toolbox has integrated external data-sources for end-of-day datasets. It includes major global stocks, market indices, crypto-currencies and forex data.

Major stock market and indices datasets

The market type ID to get major global stocks and indices datasets is YFI. Use Yahoo Finance for symbol search.

Example symbols are:

Symbol Name Cycle Tools Symbol ID Link
^GSPC S&P 500 Index ^GSPC:YFI Open
CL=F Oil CL=F:YFI Open
ES=F E Mini Futures ES=F:YFI Open
GBPUSD=X GBP/USD Currency in USD GBPUSD=X:YFI Open

Crypto-currency datasets

The market type ID to get crypto datasets is CDS.
Generic symbol format is: [FromSymbol]-[ToSymbol]-[Exchange]
Short usage is: [Symbol] – in this case ToSymbol is USD and the exchange is CCCAGG index *.

Example symbols are:

Symbol Name Cycle Tools Symbol ID Link
ETH Ethereum USD ETH:CDS Open
BTC Bitcoin USD BTC:CDS Open
LTC Litecoin USD LTC:CDS Open
BTC-EUR-CCCAGG Bitcoin EUR BTC-EUR-CCCAGG:CDS Open
ETH-JPY-COINBASE Etheruem JPY at Coinbase ETH-JPY-COINBASE:CDS Open

Managed Forex datasets

The market type ID to get forex currency pairs is FX.
Generic symbol format is: [FromSymbol][ToSymbol]

Symbol Name Cycle Tools Symbol ID Link
EURUSD EUR USD EURUSD:FX Open
USDJPY USD JPY USDJPY:FX Open
EURGBP EUR GBP EURGBP:FX Open

Economic datasets (FRED)

Access to the economic data services of the Economic Research Division of the Federal Reserve Bank of St. Louis. The market type ID to get FRED data is FDS.

Online symbol search via FRED: https://fred.stlouisfed.org/

Example symbols are:

Symbol Name Cycle Tools Symbol ID Link
VIXCLS CBOE Volatility Index VIXCLS:FDS Open
VXDCLS DJIA Volatility Index VXDCLS:FDS Open
T5YIFR 5-Year Forward Inflation Expectation Rate T5YIFR:FDS Open
STLFSI2-W St. Louis Fed Financial Stress Index (Weekly)
More dataset details
STLFSI2-W:FDS Open

Quandl datasets

The market type ID to get free quandl datasets is QDS.
Generic symbol format to load free quandl data via the time series API:
[Quandl database code]-[Quandl dataset code]-[column]
Ensure that you pick that correct column number. The column number is different for each dataset.

Example symbols are:

Database-Symbol Name Cycle Tools Symbol ID Link
CHRIS-EUREX_FDAX1-4 DAX Futures, Continuous Contract #1 (FDAX1) (Front Month), EUREX, Settle CHRIS-EUREX_FDAX1-4:QDS Open
FSE-VOW3_X Volkswagen AG, Stock Price, Frankfurt Stock Exchange FSE-VOW3_X:QDS Open
BSE-Sensex Bombay Stock Exchange – SENSEX Index BSE-Sensex:QDS Open
LBMA-Gold-2 Gold London Fixing USD PM (London Bullion Market Association)
More dataset details
LBMA-Gold-2:QDS Open
LBMA-Gold-4 Gold London Fixing GBP PM (London Bullion Market Association)
More dataset details
LBMA-Gold-4:QDS Open
LBMA-Silver-3 Silver London Fixing EUR (London Bullion Market Association)
More dataset details
LBMA-Silver-3:QDS Open
ECB-EURJPY-1 EUR vs JPY Exchange Rate (European Central Bank)
More dataset details
ECB-EURJPY:QDS Open
CHRIS-ICE_CC5-4 Cocoa Futures, Continuous Contract (Settle)
More dataset details
CHRIS-ICE_CC5-4:QDS Open
CHRIS-ICE_B1-4 Brent Crude Futures, Continuous Contract (Settle)
More dataset details
CHRIS-ICE_B1-4:QDS Open

 

 

*) Data is sourced from CryptoCompare. If no exchange is specified the CCCAGG index data will be returned. The Crypto Coin Comparison Aggregated Index (“CCCAGG”) refers to the real-time index calculation methodology, the purpose of which is to show the best price estimation for crypto traders and investors to value their portfolio at any time. It aggregates transaction data of over 70 exchanges,using 24 hour volume weighted average. The CCCAGG is calculated for each crypto coin in eachcurrency it is trading in. We provide the data from CryptoCompare to the community based on their license without any additional change or charge (for research, software/applicationdevelopment, portfolio valuation, etc.), and is under the Creative Commons Attribution-NonCommercial3.0 Unported (CC BY-NC 3.0) license ( https://creativecommons.org/licenses/by-nc/3.0/ ).