ssh-keygen -P "" -f key_nameWhen you run the
ssh-keygencommand as shown preceding, it creates the public and private keys as files in the current directory.
ssh-rsa AAAAB3Nza...PUBLIC KEY BODY...qvvYaHG6qp8RCw== rsa-key-20200428Now you can use private key to authenticate on SFTP without password.
Here are code snippets for some popular programming languages:
.NET
// Required packages: SSH.NET
var host = "sftp.datashop.livevol.com";
//var host = "sftp2.datashop.livevol.com";
var username = "[your_username]";
var password = "[your_password]";
//create SFTP client
using (var sftpClient = new Renci.SshNet.SftpClient(host, username, password))
{
//connect to host
sftpClient.Connect();
//list directories
var files = sftpClient.ListDirectory(".");
foreach (var file in files)
{
Debug.WriteLine(file.FullName);
}
//change directory
sftpClient.ChangeDirectory("/subscriptions");
//download remote file
string remoteFileName = "/path/to/file.zip";
using (var ms = new MemoryStream())
{
sftpClient.DownloadFile(remoteFileName, ms);
var bytes = ms.ToArray();
File.WriteAllBytes("file.zip", bytes);
}
//close connection
sftpClient.Disconnect();
}
// Required packages: http://www.jcraft.com/jsch/
JSch jsch = new JSch();
Session session = jsch.getSession("[your_username]", "sftp.datashop.livevol.com", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("[your_password]");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.get("remotefile.zip", "localfile.zip");
sftpChannel.exit();
session.disconnect();
"""
PYSFTP package home page: https://pysftp.readthedocs.io/en/release_0.2.9/
To install run this command:
> pip install pysftp
known hosts file should have these two lines:
sftp.datashop.livevol.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCm5wcdZGqUf4aMP3TmOfLXrKotlJ6I4XoR9U2yliQlwF2hXG2obCFhylqzI91W/kVZZETBwix6jskvexiaOuk02tuoSWt6rCdqn2M5cMm70MoP9bWuQL/4zhbI7cbx22xr/8rJhXsBRFMlB1pxvwRaHUED6kXRN64sgzmz4kLETHtgktarjcBi4cPEQyWHqbguONa/C5+oiA5EKN4w24FLStTMVkJPFfU5Jhr/9ERqeyh3Kfz9LNYbs3wNmyFwyWjbGuIY4O+EMoeVIuChzR1QVTzp6V7OHA9Gn61m1shw8Lpvp+mzXfnnmA7m0MUIV7tbDa4BuEsEMqBgIjFUjFTB
sftp2.datashop.livevol.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuQQTFCIkiFzvFCpogFMidyBjAo+FHn0IumPW+0znIYubbqjMPLygaaByhZmjOw5+HXiaIwUW7/qGRGvVuwO6xZESiV3S70xkOCw5T9CcQxNi3xCRgrcaa8Tw8HnIn/l+DxfiGTLB+U9tfh9SxFqYqaCjtvNvccThh2TnVX+rcIfwRuUi5mcCf5R9nSJZxdosMRtWMuc2s6I9x4/VsN3Kak5r0TkB8QIf+JLG3cIBP/4FLaKoDpEbZreLl3qCs8C9YWRm7Nd8cyz7rZmCbcWWvPquE/OMNiOTXaTF5zV5BI+rXJX9kuoHtS1pnZZz/0DlgDh6cXhLxVI8USkhAzeqJ
"""
import os
import pysftp
KNOWN_HOSTS_PATH = r'path/to/known_hosts'
SFTP_HOSTNAME = 'sftp.datashop.livevol.com' # 'sftp2.datashop.livevol.com'
SFTP_USERNAME = '[your_login]'
SFTP_PASSWORD = '[your_password]'
PATH_TO_ORDER_FILES = '/order_0000XXXXX/item_0000XXXXX'
LOCAL_DIR_PATH = './'
def main():
cnopts = pysftp.CnOpts(knownhosts=KNOWN_HOSTS_PATH)
with pysftp.Connection(SFTP_HOSTNAME, username=SFTP_USERNAME, password=SFTP_PASSWORD, cnopts=cnopts) as sftp:
with sftp.cd(PATH_TO_ORDER_FILES): # temporarily change directory
for file_name in sftp.listdir(): # list all files in directory
sftp.get(file_name, localpath=os.path.join(LOCAL_DIR_PATH, file_name)) # get a remote file
print('File {} downloaded.'.format(file_name))
if __name__ == '__main__':
main()
username=your_username
host=sftp.datashop.livevol.com
keyPath=~/.ssh
key=id_rsa
remotePath=/path/to
remoteFile=file.zip
localPath=data
echo "cd ${localPath}"
cd ${localPath}
sftp -i ${keyPath}/${key} ${username}@${host} << END
cd ${remotePath}
get ${remoteFile}
quit
END
Dataset | Data Availability Start Date |
---|---|
Cboe Open Close Volume Summary EOD C1 | Jan, 2005 |
Cboe Open Close Volume Summary EOD BZX,C2,EDGX | Jan, 2018 |
Cboe Open Close Volume Summary Interval C1 | Jan, 2011 |
Cboe Open Close Volume Summary Interval C2, BZX,EDGX | Mar 2020 |
Option Quotes | Jan, 2010 |
Option EOD Summary | Jan, 2010 |
Option Trades | Jan, 2010 |
Option Sentiment | Jan, 2012 |
CFE Summary | Mar, 2018 |
CFE Vix Futures Trades and Quotes | Apr, 2004 |
Equity, ETF, and Index Quotes | Jan, 2010 |
Equity EOD Summary | Jan, 2010 |
VIX Index Values | Jan, 1992 |
VIX Index EOD Calculation Inputs | May, 2022 |
Cboe FX Top Of Order Book | Mar 31, 2003 |
Cboe FX Trades | Jan, 2005 |
Cboe FX ITCH Feed | July 6, 2009 |
Cboe FX Order Book Snapshot | Jan, 2009 |
Suffix | Example | Description |
---|---|---|
.IV | ^SPY.IV | Intraday Net Asset Value/Share |
.NV | ^SPY.NV | Net Asset Value/Share previous close |
.SO | ^SPY.SO | Shares Outstanding (x1000) |
.TC | ^AADR.TC | Total cash per creation unit (thousands) |
.DP | ^FXA.DP | Dividend portion to go ex-distribution |
.EU | ^AADR.EU | Estimated Creation Unit Cash Amount |
Option mid-price is used to calculate implied volatility based on the National Best Bid and Offer (NBBO). For Option Greeks, if implied volatility cannot be calculated at the mid-price, the National Best Offer (NBO) will be used.
For underlying price, the mid-market is typically used but as-of 2021-02-14 we may instead incorporate a theoretical underlier price that is smoothed across time to adjust for wide bid-ask spreads and absence of prices.
Up until 3/1/2015 ^VIX traded from 9:30 am - 4:15 pm ET, then from 3/2/2015 to 11/21/21, 3:00 am to 9:15 am ET was added to the existing 9:30 am - 4:15 pm ET original trading session.
Up until 3/8/2015 ^SPX traded from 9:30 am - 4:15 pm ET, then from 3/9/2015 to 11/21/21, 3:00 am to 9:15 am ET was added to the existing 9:30 am - 4:15 pm ET original trading session.
Both ^VIX and ^SPX then traded from 11/22/2021 to 4/24/22 moving the start from 3:00 am ET to 8:15 pm ET for available trading times of 8:15 pm - 9:15 am ET and 9:30 am - 4:15 pm ET.
The last and most recent change added the 'Curb' session from 4:15 pm - 5:00 pm ET, from 4/25/22-to present 8:15 pm - 9:15 am ET and 9:30 am - 5:00 pm ET encompass the available trading range.
Bid of Offer Price | Current Information | New Increments |
---|---|---|
Under $3.00 | $0.05 | $0.01 |
Over $3.00 | $0.10 | $0.05 |
Historical notices and upcoming additions
For DataShop product coverage, please see individual product specifications for details.
Our Equity data sets cover U.S. Equities and ETFs primary listed on national equity exchanges (excludes OTC). Indices on the Cboe Global Indices Feed are also included.
Our Options data sets cover Options on U.S. listed Stock, ETFs, and Indices disseminated over the Options Price Reporting Authority (OPRA) market data feed. Options on Futures & non-U.S. markets are *not* supported.
If you placed an order on 1/1/2020, for a monthly subscription, the end date will be 1/31/2020 (Add 1 month, and subtract 1 day). For this example, this amounts to a total of 30 days, not including the order date. For a yearly subscription, the end date will be 12/31/2020 (Add 1 year, and subtract 1 day). For this example, this amounts to a total of 365 days, not including the order date.
Then we determine how many days are remaining in your subscripition:If you modified an order today, and lets say today is 1/15/2020, then from the above example for monthly order, the remaining time on your subscription is between 1/16/2020 - 1/31/2020, inclusive, which amounts to 16 days remaining. From the above example, for yearly order, the remaining time on your subscription is between 1/16/2020 - 12/31/2020, inclusive, which amounts to 351 days remaining.
Finally, we divide your order total by total days to find your order amount per day, and multiply that amount by how many remaining days are in your subscription.