Source code for finvizfinance.future
"""
.. module:: future
:synopsis: future.
.. moduleauthor:: Tianning Li <ltianningli@gmail.com>
"""
import json
import pandas as pd
from finvizfinance.util import web_scrap
[docs]
class Future:
"""Future
Getting information from the finviz future page.
"""
def __init__(self):
"""initiate module"""
pass
[docs]
def performance(self, timeframe="D"):
"""Get forex performance table.
Args:
timeframe (str): choice of timeframe(D, W, M, Q, HY, Y)
Returns:
df(pandas.DataFrame): forex performance table
"""
timeframe_dict = {"W": 12, "M": 13, "Q": 14, "HY": 15, "Y": 16}
params = {}
if timeframe in timeframe_dict:
params["v"] = timeframe_dict[timeframe]
elif timeframe != "D":
raise ValueError("Invalid timeframe '{}'".format(timeframe))
soup = web_scrap("https://finviz.com/futures_performance.ashx", params)
html = soup.prettify()
data = html[
html.find("var rows = ")
+ 11 : html.find("FinvizInitFuturesPerformance(rows);")
]
data = json.loads(data.strip()[:-1])
df = pd.DataFrame(data)
return df