CLI User guide

Using the command line tool to interact with IG Index platform.

General command line syntax

PyGIndex command line tool is called pygi.

The paramters are structured in the following way:

$ pygi [options] <command> <action> [parameters]

Options

Options are applied to all commands and actions universally. You can use them to control the behaviour of all commands, for example you can use --format option to set the format of the output that commands generate (text, json, etc).

This parameter is optional. If omitted, then default value will be used.

Object

This parameter specifies what object to operate on. All interactions with the platform are done by operating on “objects”, such as instrument (for interation with trading instruments), positions (for opening, closing, editing, and listing trading positions), account (for account related settings) and so on.

Action

Each object has a set of available actions that you can apply to it. For example, if you want to find a particular instrument, you would call search action on the instrument object:

$ pygi instrument search Apple

Parameters

Each object/action combination can have its own set of parameters. Whether these parameters are mandatory or optional, and what set of parameters are available depends on the object/action combination. Use help functionality to find out more information about such parameters.

Getting help

You can get help information about any command or subcommand by using --help or -h option.

List all available objects/commands:

$ pygi -h
usage: pygi [-h] [--format {json,text}] {instrument,positions,account} ...

Command line utility to interact with IG Index trading platform

positional arguments:
  {instrument,positions,account}
    instrument          Instruments
    positions           Manage positions
    account             Query account details

optional arguments:
  -h, --help            show this help message and exit
  --format {json,text}  Output format type

List action commands for one specific object:

$ pygi instrument -h
usage: pygi instrument [-h] {get,search} ...

positional arguments:
  {get,search}
    get         Get instrument details
    search      Search for instrument

optional arguments:
  -h, --help    show this help message and exit

Show command specific parameters:

$ pygi instrument search -h
usage: pygi instrument search [-h] term

positional arguments:
  term        Search term

optional arguments:
  -h, --help  show this help message and exit

Examples

List all open positions:

$ pygi positions get
Deal ID          IG Instrument       Market                        Size        Open      Latest         P/L
XXAAAAXXXXXXXXX  UA.D.AAPL.DAILY.IP  Apple Inc (All Sessions)       0.1    13664.00    12500.00     -116.40
XXAAAAXXXXXXXXX  UA.D.AAPL.DAILY.IP  Apple Inc (All Sessions)       0.1    12234.00    12500.00       26.60
XXAAAAXXXXXXXXX  IX.D.FTSE.DAILY.IP  FTSE 100                       0.5     6873.60     7015.20       70.80
                                                                                      Total:         -19.00

Get account details in JSON format:

$ pygi --format json account get
{
    "accounts": {
        "accounts": [
            {
                "accountAlias": null,
                "accountId": "XXXXX",
                "accountName": "CFD",
                "accountType": "CFD",
                "balance": {
                    "available": 0.0,
                    "balance": 0.0,
                    "deposit": 0.0,
                    "profitLoss": 0.0
                },
                "canTransferFrom": true,
                "canTransferTo": true,
                "currency": "GBP",
                "preferred": false,
                "status": "ENABLED"
            },
            {
                "accountAlias": null,
                "accountId": "XXXXX",
                "accountName": "Spread bet",
                "accountType": "SPREADBET",
                "balance": {
                    "available": 0.0,
                    "balance": 0.0,
                    "deposit": 0.0,
                    "profitLoss": 0.0
                },
                "canTransferFrom": true,
                "canTransferTo": true,
                "currency": "GBP",
                "preferred": true,
                "status": "ENABLED"
            }
        ]
    },
    "session": {
        "accountId": "XXXXX",
        "clientId": "000000000",
        "currency": "GBP",
        "lightstreamerEndpoint": "https://apd.marketdatasystems.com",
        "locale": "en_GB",
        "timezoneOffset": 1
    }
}