Skip to main content

FINTER API

Project description

Overview

Python client SDK for finter platform

  • You can get Authorization of finter API with authToken.

  • Type: API key

  • API key parameter name: Authorization

  • Location: HTTP header

  • This Python package is automatically generated by the Swagger Codegen project.

  • Please contact with finter_support@quantit.io if you have any problems, troubles, … etc.

Requirements.

Python 2.7 and 3.4+

Installation & Usage

pip install finter

Then import the package:

import finter

Set environment variable FINTER_API_KEY to use API key: later, you can change settgins.configuration.api_key[‘Authorization’]

# sh
export FINTER_API_KEY=YOUR_API_KEY
# python
import os
os.environ['FINTER_API_KEY'] = 'YOUR_API_KEY'

Getting Started

Please follow the installation procedure and then run the following:

Get CM Example

from __future__ import print_function
import time
import finter
from finter.rest import ApiException
from pprint import pprint
# Configure API key authorization: tokenAuth
configuration = finter.Configuration()
# Token-based authentication with required prefix "Token"
configuration.api_key['Authorization'] = 'Token YOUR_API_KEY' # prefix "Token" is required

# create an instance of the API class
api_instance = finter.ContentApi(finter.ApiClient(configuration))
code_format = 'code_format_example' # str | data column code format (optional)
end = 'end_example' # str | data end date (optional)
identity_name = 'identity_name_example' # str | content model identity name (required)
tail = 56 # int | data tail row number (optional)

try:
    api_response = api_instance.content_model_retrieve(code_format=code_format, end=end, identity_name=identity_name, tail=tail)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling ContentApi->content_model_retrieve: %s\n" % e)

Convert to Pandas DataFrame

import finter

json_response = api_response.to_dict()['cm']
df = finter.to_dataframe(json_response)

Get Calendar Example

from __future__ import print_function
import time
import finter
from finter.rest import ApiException
from pprint import pprint
# Configure API key authorization: tokenAuth
configuration = finter.Configuration()
configuration.api_key['Authorization'] = 'Token YOUR_API_KEY' # prefix "Token" is required

# create an instance of the API class
api_instance = finter.CalendarApi(finter.ApiClient(configuration))
date_type = 1 # int | 0:all day 1: trading day, 2: closed day, 3: weekends (optional, default: 0)
start_date = 'start_date_example' # str |  (required)
end_date = 'end_date_example' # str |  (required)
exchange = 'exchange_example' # str |  (optional)

try:
    api_response = api_instance.calendar_retrieve(date_type=date_type, end_date=end_date, exchange=exchange, start_date=start_date)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling CalendarApi->calendar_retrieve: %s\n" % e)

Get Metafund Model Example

from __future__ import print_function
import time
import finter
from finter.rest import ApiException
from pprint import pprint
# Configure API key authorization: tokenAuth
configuration = finter.Configuration()
configuration.api_key['Authorization'] = 'Token YOUR_API_KEY' # prefix "Token" is required

# create an instance of the API class
api_instance = finter.MetafundApi(finter.ApiClient(configuration))
code_format = 'code_format_example' # str | data column code format (optional)
forward_fill = True # bool |  (optional)
metafund_name = 'metafund_name_example' # str |  (required)

try:
    api_response = api_instance.metafund_model_retrieve(code_format=code_format, forward_fill=forward_fill, metafund_name=metafund_name)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling MetafundApi->metafund_model_retrieve: %s\n" % e)

Get simulation Example

from __future__ import print_function
import time
import finter
from finter.rest import ApiException
from pprint import pprint
# Configure API key authorization: tokenAuth
configuration = finter.Configuration()
configuration.api_key['Authorization'] = 'Token YOUR_API_KEY' # prefix "Token" is required

sim_data = {
    'position': '',  # postion json using df.to_json(orient="split", date_format="iso", date_unit="s", force_ascii=False)
    'model_info': {'exchange': 'krx', 'universe': 'krx', 'instrument_type': 'stock', 'freq': '1d',
                   'position_type': 'target', 'type': 'alpha'},
    'start': 20100111,
    'end': 20230620,
    'fill_nan': True,
    'close': True,
    'adj_dividend': True,
    'adj_funding_fee': False,
    'currency': None,
    'return_calc_method': 'arithmetic',
    'turnover_calc_method': 'arithmetic',
    'cost_list': ['fee_tax', 'high_low'],
    'volcap_pct': 0,
    'decay': 1,
    'slippage': 10,
}
# create an instance of the API class
api_instance = finter.SimulationApi(finter.ApiClient(configuration))
body = finter.SimulationRequest(**sim_data) # SimulationRequest |

try:
    api_response = api_instance.simulation_create(body)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling SimulationApi->simulation_create: %s\n" % e)

Get Submission Example

from __future__ import print_function
import time
import finter
from finter.rest import ApiException
from pprint import pprint
# Configure API key authorization: tokenAuth
configuration = finter.Configuration()
configuration.api_key['Authorization'] = 'Token YOUR_API_KEY' # prefix "Token" is required

api_instance = finter.SubmissionApi(finter.ApiClient(configuration))
model_info = {
    "exchange": "krx",
    "universe": "krx",
    "instrument_type": "stock",
    "exposure": "long_only",
    "insample": "1day",
    "position_type": "target",
    "freq": "1d",
    "type": "alpha",
}
model_dir = 'sample_alpha'
try:
    api_response = api_instance.submission_create(model_info, model_dir)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling SubmissionApi->submission_create: %s\n" % e)

You can apply same code frame to use other endpoints.

api_instance

module name

Api url

ContentApi

content_identities_retrieve

content/identities

content_model_retrieve

content/model

ews_retrieve

ews/

AlphaApi

alpha_identities_retrieve

alpha/identities

alpha_model_retrieve

alpha/model

PortfolioApi

portfolio_identities_retrieve

portfolio/identities

portfolio_model_retrieve

portfolio/model

FundApi

fund_identities_retrieve

fund/identities

fund_model_retrieve

fund/model

FlexibleFundApi

flexiblefund_identities_retrieve

flexiblefund/identities

flexiblefund_model_retrieve

flexiblefund/model

MetafundApi

metafund_list_retrieve

metafund/list

metafund_model_retrieve

metafund/model

metafund_performance_retrieve

metafund/performance

Calendar

calendar_retrieve

calendar/

Finter Utils name | description —- | —- to_dataframe | convert json-formed data to dataframe

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

finter-0.0.25-py3-none-any.whl (155.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page