Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Security Master check is hardcoded and non-specific #73

Closed
C-SELLERS opened this issue Mar 9, 2022 · 1 comment · Fixed by #378
Closed

Security Master check is hardcoded and non-specific #73

C-SELLERS opened this issue Mar 9, 2022 · 1 comment · Fixed by #378

Comments

@C-SELLERS
Copy link
Contributor

Currently the system of checking for "Security Master" subscription only considers "Equity Security Master". However, different datasource require different "Security Master" products.

In example:
Bulk US Equity Data -> Bulk US Equity Security Master (PID 180)
US Equity Data -> US Equity Security Master (PID 37)
Bulk US Futures Data -> Bulk US Futures Security Master (PID 179)
US Futures Data -> US Futures Security Master (PID 137)

I believe this can be addressed by a two step change. One to the API and then the CLI reflecting.

SOLUTION:

The web api response for "data/prices" under "datasources" has a field "requiresSecurityMaster" which is a simple true/false. Instead I suggest we make this a requires field as an int[] that contains the required products if any for that Product id.

EX Before

	"datasources": {
		"4": {
			"requiresSecurityMaster": true,
			"options": [],
			"paths": []
		}
        }

EX after

	"datasources": {
		"4": {
			"requires": [ 37 ],
			"options": [],
			"paths": []
		}
        }

That way in the CLI when we want to check if a product can be downloaded we can just ensure that the required product ID exists in the organization subscriptions.

This also allows us to not have to hardcode any security master product ID in the CLI as it is now.

@jaredbroad
Copy link
Member

Fixed 2022

AlexCatarino added a commit to AlexCatarino/lean-cli that referenced this issue Nov 3, 2023
LEAN CLI will verify whether the Organization has a Security Master requirement on the Dataset page. For example, US Futures requires US Futures Security Master. If the Org. doesn't have it, LEAN CLI directs the user to the US Futures Security Master pricing page.

Tested locally with Orgs. with and without Futures Security Master, and setting and not setting the requirements

```json
    "requirements": {
        "137": "quantconnect-us-futures-security-master"
    },
```
Closes QuantConnect#73
AlexCatarino added a commit to AlexCatarino/lean-cli that referenced this issue Nov 3, 2023
…equirement on the Dataset page. For example, US Futures requires US Futures Security Master. If the Org. doesn't have it, LEAN CLI directs the user to the US Futures Security Master pricing page.

Tested locally with Orgs. with and without Futures Security Master, and setting and not setting the requirements

```json
    "requirements": {
        "137": "quantconnect-us-futures-security-master"
    },
```
Closes QuantConnect#73
Martin-Molinero pushed a commit that referenced this issue Nov 3, 2023
…equirement on the Dataset page. For example, US Futures requires US Futures Security Master. If the Org. doesn't have it, LEAN CLI directs the user to the US Futures Security Master pricing page. (#378)

Tested locally with Orgs. with and without Futures Security Master, and setting and not setting the requirements

```json
    "requirements": {
        "137": "quantconnect-us-futures-security-master"
    },
```
Closes #73
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants