Debugging Candle Chat

I am trying to blot prices using a Candle chart.

So far what I have is:


%pip install investpy --upgrade
%pip install ipysheet --upgrade
%pip install bokeh --upgrade
%pip install jupyter_bokeh --upgrade
%pip install numpy --upgrade
%pip install pandas --upgrade
%pip install pytz --upgrade

import pandas as pd

mapping = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/Stock Ticker Mapping.csv").dropna()

mapping

import investpy
import pandas as pd
import numpy as np
from datetime import datetime
import pytz

stocks = {'Open': pd.DataFrame(dtype=np.float64),
          'High': pd.DataFrame(dtype=np.float64),
          'Low': pd.DataFrame(dtype=np.float64),
          'Close': pd.DataFrame(dtype=np.float64),
          'Volume': pd.DataFrame(dtype=np.float64)}

original = {}

SLST = pytz.timezone('Asia/Colombo')
data_start = '01/01/2000'
data_end = datetime.now(SLST).strftime("%d/%m/%Y")

print('from %s to %s' % (data_start, data_end))

for index, row in mapping.iterrows():
    x = row.iloc[3]
    try:
      search_result = investpy.search_quotes(
          text=x, 
          countries=['Sri Lanka'], 
          products=['stocks'], 
          n_results=1)
      
      df = search_result.retrieve_historical_data(
          from_date=data_start, 
          to_date=data_end)
      
      if df is not None:
        name = row.iloc[1]
        original[name] = df
        stocks['Open'] = pd.concat([stocks['Open'], df.loc[:, 'Open'].rename(name)], axis=1, join="outer")
        stocks['High'] = pd.concat([stocks['High'], df.loc[:, 'High'].rename(name)], axis=1, join="outer")
        stocks['Low'] = pd.concat([stocks['Low'], df.loc[:, 'Low'].rename(name)], axis=1, join="outer")
        stocks['Close'] = pd.concat([stocks['Close'], df.loc[:, 'Close'].rename(name)], axis=1, join="outer")
        stocks['Volume'] = pd.concat([stocks['Volume'], df.loc[:, 'Volume'].rename(name)], axis=1, join="outer")
      else:
        print('Data not found in processing index %d:' % index)
        print(row)
        print('--------------------')
    except Exception as e:
      print('Error in processing index %d:' % index, e)
      print(row)
      print('--------------------')

stocks['Open'] = stocks['Open'].replace(0.0, np.nan)
stocks['High'] = stocks['High'].replace(0.0, np.nan)
stocks['Low'] = stocks['Low'].replace(0.0, np.nan)
stocks['Close'] = stocks['Close'].replace(0.0, np.nan)
stocks['Volume'] = stocks['Volume'].replace(0.0, np.nan)

stocks

import pandas as pd
import numpy as  np
from bokeh.plotting import figure, output_notebook, show
from bokeh.models import LinearAxis, Range1d, Segment, Legend, HoverTool, ColumnDataSource
from bokeh.models.formatters import NumeralTickFormatter, DatetimeTickFormatter
from bokeh.palettes import Category20
output_notebook()

def init_chart(name):
  # Tools Selections:
  TOOLS = "pan,xwheel_zoom,box_zoom,crosshair,undo,redo,reset,save"

  p = figure(x_axis_type="datetime", tools=TOOLS, 
             title = name)
  p.add_layout(Legend(click_policy="hide", orientation='horizontal', spacing=20), 'below')
  p.sizing_mode = 'scale_both'

  return p

def init_price_volume_chart(p, df):
  RED = Category20[7][6]
  GREEN = Category20[5][4]

  df = df.dropna()

  df_red = df.loc[(df['Open'] >= df['Close'])]
  df_green = df.loc[(df['Close'] >= df['Open'])]

  source = ColumnDataSource(df)
  source_red = ColumnDataSource(df_red)
  source_green = ColumnDataSource(df_green)
  w = 12*60*60*1000 # half day in ms

  source.add(df.index, 'Date')
  source_red.add(df_red.index, 'Date')
  source_green.add(df_red.index, 'Date')

  p.x_range = Range1d(source.data['Date'][0], source.data['Date'][-1])
  p.xaxis[0].formatter = DatetimeTickFormatter(months="%b %Y", days="%d %b %Y")
  p.xaxis.axis_label = 'Date'
  p.xaxis.major_label_orientation = np.pi/4.0
  p.xaxis.ticker.desired_num_ticks = 40

  # left y axis
  low, high  = source.data['Low'].min(), source.data['High'].max()
  p.y_range = Range1d(low * 0.9, high * 1.1)
  p.yaxis.axis_label = 'Price'
  p.yaxis[0].formatter = NumeralTickFormatter(format="0,0.00")
  segmnts_green = p.segment('Date', 'High', 'Date', 'Low', 
                            color=GREEN, source=source_green, 
                            legend_label='Up')
  segmnts_red = p.segment('Date', 'High', 'Date', 'Low', 
                          color=RED, source=source_red, 
                          legend_label='Down')
  price_vbars_green = p.vbar('Date', w, 'Open', 'Close', 
                       source=source_green, fill_color=GREEN, line_color=GREEN, 
                       legend_label='Up')
  price_vbars_red = p.vbar('Date', w, 'Close', 'Open', 
                     source=source_red, fill_color=RED, line_color=RED, 
                     legend_label='Down')

  tooltips=[('open', '@Open'),('close', '@Close'), ('low', '@Low'), ('high', '@High')]
  price_green_hover = HoverTool(renderers=[price_vbars_green], tooltips=tooltips)
  p.add_tools(price_green_hover)
  price_red_hover = HoverTool(renderers=[price_vbars_red], tooltips=tooltips)
  p.add_tools(price_red_hover)

  # right y axis
  p.extra_y_ranges.update({'VolumeAxis':  Range1d(0, 1.1 * source.data['Volume'].max())})
  p.add_layout(LinearAxis(y_range_name='Volume', axis_label='Volume' ), 'right')
  p.yaxis[1].formatter = NumeralTickFormatter(format="0a")
  volume_vbars_green = p.vbar('Date', w, 'Volume', [0] * len(source_green.data['Volume']), alpha=0.5, level='underlay', 
        source=source_green, fill_color=GREEN, line_color=GREEN,
        legend_label='Volume', y_range_name='VolumeAxis')
  volume_vbars_red = p.vbar('Date', w, 'Volume', [0] * len(source_red.data['Volume']), alpha=0.5, level='underlay', 
        source=source_red, fill_color=RED, line_color=RED,
        legend_label='Volume', y_range_name='VolumeAxis')
  
  tooltips=[('volume', '@Volume')]
  volume_green_hover = HoverTool(renderers=[volume_vbars_green], tooltips=tooltips)
  p.add_tools(volume_green_hover)
  volume_red_hover = HoverTool(renderers=[volume_vbars_red], tooltips=tooltips)
  p.add_tools(volume_red_hover)
  
  return p

s = 'VONE.N0000'
p = init_chart(s)
p = init_price_volume_chart(p, original[s])
show(p)

I am getting the following error:

BokehUserWarning: ColumnDataSource's columns must be of the same length. Current lengths: ('Close', 1289), ('Date', 1507), ('High', 1289), ('Low', 1289), ('Open', 1289), ('Volume', 1289)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-20-28ee17b5a025> in <module>()
     87 s = 'VONE.N0000'
     88 p = init_chart(s)
---> 89 p = init_price_volume_chart(p, original[s])
     90 show(p)

2 frames
<ipython-input-20-28ee17b5a025> in init_price_volume_chart(p, df)
     72   volume_vbars_green = p.vbar('Date', w, 'Volume', [0] * len(source_green.data['Volume']), alpha=0.5, level='underlay', 
     73         source=source_green, fill_color=GREEN, line_color=GREEN,
---> 74         legend_label='Volume', y_range_name='VolumeAxis')
     75   volume_vbars_red = p.vbar('Date', w, 'Volume', [0] * len(source_red.data['Volume']), alpha=0.5, level='underlay', 
     76         source=source_red, fill_color=RED, line_color=RED,

/usr/local/lib/python3.7/dist-packages/bokeh/plotting/_decorators.py in wrapped(self, *args, **kwargs)
     79             for arg, param in zip(args, sigparams[1:]):
     80                 kwargs[param.name] = arg
---> 81             return create_renderer(glyphclass, self, **kwargs)
     82 
     83         wrapped.__signature__ = Signature(parameters=sigparams)

/usr/local/lib/python3.7/dist-packages/bokeh/plotting/_renderer.py in create_renderer(glyphclass, plot, **kwargs)
     92     incompatible_literal_spec_values += _process_sequence_literals(glyphclass, glyph_visuals, source, is_user_source)
     93     if incompatible_literal_spec_values:
---> 94         raise RuntimeError(_GLYPH_SOURCE_MSG % nice_join(incompatible_literal_spec_values, conjuction="and"))
     95 
     96     # handle the nonselection glyph, we always set one

RuntimeError: 

Expected bottom to reference fields in the supplied data source.

When a 'source' argument is passed to a glyph method, values that are sequences
(like lists or arrays) must come from references to data columns in the source.

For instance, as an example:

    source = ColumnDataSource(data=dict(x=a_list, y=an_array))

    p.circle(x='x', y='y', source=source, ...) # pass column names and a source

Alternatively, *all* data sequences may be provided as literals as long as a
source is *not* provided:

    p.circle(x=a_list, y=an_array, ...)  # pass actual sequences and no source

The mapping file contains:

CSE Name,CSE Ticker,investing.com Name,investing.com Ticker
ASIA ASSET FINANCE PLC,AAF.N0000,Asia Asset Finance,ASAS
ASIA ASSET FINANCE PLC,AAF.R0000,,
SOFTLOGIC LIFE INSURANCE PLC,AAIC.N0000,Softlogic Life Ins,SFTL
ABANS ELECTRICALS PLC,ABAN.N0000,Abans Electricals,ABAN
AMANA BANK PLC,ABL.N0000,Amana Bank Ltd,ABLT
ASIA CAPITAL PLC,ACAP.N0000,Asia Capital PLC,ACAP
ACL CABLES PLC,ACL.N0000,ACL Cables PLC,ACL
ACME PRINTING & PACKAGING PLC,ACME.N0000,ACME Printing & Packaging,ACME
ACCESS ENGINEERING PLC,AEL.N0000,Access Engineering,ACCE
ABANS FINANCE PLC,AFSL.N0000,Abans Finance PLC,AFSL
AGALAWATTE PLANTATIONS PLC,AGAL.N0000,Agalawatte Plantations,AGAL
AGSTAR PLC,AGST.N0000,Agstar PLC,AGST
ASIAN HOTELS & PROPERTIES PLC,AHPL.N0000,Asian Hotels & Properties,AHPL
AITKEN SPENCE HOTEL HOLDINGS PLC,AHUN.N0000,Aitken Spence Hotel,AHUN
ARPICO INSURANCE PLC,AINS.N0000,Arpico Insurance Ltd,ARIC
ANILANA HOTELS AND PROPERTIES PLC,ALHP.N0000,Anilana Hotels & Properties Ltd,ANIL
ANILANA HOTELS AND PROPERTIES PLC,ALHP.R0000,,
ALLIANCE FINANCE COMPANY PLC,ALLI.N0000,Alliance Finance,ALLI
UNISYST ENGINEERING PLC,ALUF.N0000,Alufab,UNIS
UNISYST ENGINEERING PLC,ALUF.R0000,,
ALUMEX PLC,ALUM.N0000,Alumex PLC,ALUM
ASSOCIATED MOTOR FINANCE COMPANY PLC,AMF.N0000,Associated Motor Finance,ASSO
ASIRI SURGICAL HOSPITAL PLC,AMSL.N0000,Asiri Surgical Hospital,AMSL
ACL PLASTICS PLC,APLA.N0000,ACL Plastics PLC,APLA
ARPICO FINANCE COMPANY PLC,ARPI.N0000,Arpico Finance,ARPI
LANKA REALTY INVESTMENTS PLC,ASCO.N0000,Lanka Realty,LANK
LANKA ASHOK LEYLAND PLC,ASHO.N0000,Lanka Ashok Leyland,ASHO
ASIRI HOSPITAL HOLDINGS PLC,ASIR.N0000,Asiri Hospital,ASIR
ASIA SIYAKA COMMODITIES PLC,ASIY.N0000,Asia Siyaka Commodities,ASIA
INDUSTRIAL ASPHALTS (CEYLON) PLC,ASPH.N0000,Industrial Asphalts,ASPH
AITKEN SPENCE PLANTATION MANAGEMENTS PLC,ASPM.N0000,Aitken Spence Plantation Managements,ASPM
AMANA TAKAFUL PLC,ATL.N0000,Amana Takaful PLC,ATL
AMANA TAKAFUL LIFE PLC,ATLL.N0000,Amana Takaful Life,ANTK
THE AUTODROME PLC,AUTO.N0000,Autodrome,AUTO
BALANGODA PLANTATIONS PLC,BALA.N0000,Balangoda Plantations,BALA
BROWNS BEACH HOTELS PLC,BBH.N0000,Browns Beach Hotels,BBH
BERUWALA RESORTS PLC,BERU.N0000,Beruwala Resorts,BERU
BAIRAHA FARMS PLC,BFL.N0000,Bairaha Farms PLC,BFL
ORIENT FINANCE PLC,BFN.N0000,Orient Finance,ORIT
BROWNS INVESTMENTS PLC,BIL.N0000,Browns Investments,BROW
BIMPUTH FINANCE PLC,BLI.N0000,Bimputh Finance,BIMP
BLUE DIAMONDS JEWELLERY WORLDWIDE PLC,BLUE.N0000,Blue Diamonds Jewellery,BLUE
BLUE DIAMONDS JEWELLERY WORLDWIDE PLC,BLUE.X0000,Blue Diamonds Jewellery,BLUEt
BOGALA GRAPHITE LANKA PLC,BOGA.N0000,Bogala Graphite Lanka,BOGA
BOGAWANTALAWA TEA ESTATES PLC,BOPL.N0000,Bogawantalawa Tea Estates,BOPL
B P P L HOLDINGS PLC,BPPL.N0000,B P P L,BPPL
CEYLON BEVERAGE HOLDINGS PLC,BREW.N0000,Ceylon Beverage,BREW
BANSEI ROYAL RESORTS HIKKADUWA PLC,BRR.N0000,Bansei Royal Resorts Hikkaduwa,BANS
BROWN & COMPANY PLC,BRWN.N0000,Brown & Co PLC,BRWN
BUKIT DARAH PLC,BUKI.N0000,Bukit Darah PLC,BUKI
CARGO BOAT DEVELOPMENT COMPANY PLC,CABO.N0000,Cargo Boat Develop,CABO
CARGO BOAT DEVELOPMENT COMPANY PLC,CABO.R0000,,
DIALOG FINANCE PLC,CALF.N0000,,
DIALOG FINANCE PLC,CALF.R0000,,
PRINTCARE PLC,CARE.N0000,Printcare PLC,CARE
CARGILLS (CEYLON) PLC,CARG.N0000,Cargills,CARG
CARSON CUMBERBATCH PLC,CARS.N0000,Carson Cumberbatch,CARS
CEYLON COLD STORES PLC,CCS.N0000,Ceylon Cold Stores,CCS
CITIZENS DEVELOPMENT BUSINESS FINANCE PLC,CDB.N0000,Citizens Develop Business Finance,CDBF
CITIZENS DEVELOPMENT BUSINESS FINANCE PLC,CDB.R0000,,
CITIZENS DEVELOPMENT BUSINESS FINANCE PLC,CDB.R0001,,
CITIZENS DEVELOPMENT BUSINESS FINANCE PLC,CDB.X0000,Citizens Development Non Vote,CDBFt
LANKA CERAMIC PLC,CERA.N0000,Lanka Ceramic PLC,CERA
COLOMBO FORT INVESTMENTS PLC,CFI.N0000,Colombo Fort Investments,CFI
CENTRAL FINANCE COMPANY PLC,CFIN.N0000,Central Finance,CFIN
THE COLOMBO FORT LAND & BUILDING PLC,CFLB.N0000,Colombo Fort Land & Building,CFLB
FIRST CAPITAL HOLDINGS PLC,CFVF.N0000,First Capital,CFVF
CEYLON HOSPITALS PLC (DURDANS),CHL.N0000,Ceylon Hospitals,CHL
CEYLON HOSPITALS PLC (DURDANS),CHL.X0000,Ceylon Hospitals,CHLt
CHEMANEX PLC,CHMX.N0000,Chemanex PLC,CHMX
CEYLON HOTELS CORPORATION PLC,CHOT.N0000,Ceylon Hotels Corp,CHOT
CITY HOUSING & REAL ESTATE CO. PLC,CHOU.N0000,City Housing & RE,CHOU
CIC HOLDINGS PLC,CIC.N0000,CIC Holdings PLC,CIC
CIC HOLDINGS PLC,CIC.X0000,CIC Holdings NV,CICt
CENTRAL INDUSTRIES PLC,CIND.N0000,Central Industries,CIND
CEYLINCO INSURANCE PLC,CINS.N0000,Ceylinco Insurance,CINS
CEYLINCO INSURANCE PLC,CINS.X0000,Ceylinco Insurance,CINSt
CEYLON INVESTMENT PLC,CINV.N0000,Ceylon Investment,CINV
COLOMBO INVESTMENT TRUST PLC,CIT.N0000,Colombo Investment Trust,CIT
HIKKADUWA BEACH RESORT PLC,CITH.N0000,Hikkaduwa Beach Resort,CITH
WASKADUWA BEACH RESORT PLC,CITW.N0000,Waskaduwa Beach Resort,CITW
COMMERCIAL LEASING & FINANCE PLC,CLC.N0000,Commercial Leasing & Finance,COLE
COLOMBO LAND & DEVELOPMENT COMPANY PLC,CLND.N0000,Colombo Land Develop,CLND
RENUKA FOODS PLC,COCO.N0000,Renuka Shaw Wallace,COCO
RENUKA FOODS PLC,COCO.X0000,Renuka Shaw Wallace,COCOt
COMMERCIAL CREDIT AND FINANCE PLC,COCR.N0000,Commercial Credit & Finance,COMN
CANDOR OPPORTUNITIES FUND,COF.U0000,,
C M HOLDINGS PLC,COLO.N0000,Colonial Motors,COLO
COMMERCIAL BANK OF CEYLON PLC,COMB.N0000,Commercial Bank of Ceylon,COMB
COMMERCIAL BANK OF CEYLON PLC,COMB.X0000,Commercial Bank of Ceylon,COMBt
COMMERCIAL DEVELOPMENT COMPANY PLC,COMD.N0000,Commercial Develop Co,COMD
AMAYA LEISURE PLC,CONN.N0000,Amaya Leisure PLC,CONN
CEYLON PRINTERS PLC,CPRT.N0000,Ceylon Printers,CPRT
SOFTLOGIC FINANCE PLC,CRL.N0000,Softlogic Finance,CAPR
SOFTLOGIC FINANCE PLC,CRL.R0000,,
SEYLAN DEVELOPMENTS PLC,CSD.N0000,Seylan Developments,CSD
NATION LANKA FINANCE PLC,CSF.N0000,Nation Lanka Finance,CSF
CEYLON TEA BROKERS PLC,CTBL.N0000,Ceylon Tea Brokers,CEYL
CEYLON TOBACCO COMPANY PLC,CTC.N0000,Ceylon Tobacco,CTC
DILMAH CEYLON TEA COMPANY PLC,CTEA.N0000,Ceylon Tea Services,CTEA
C T HOLDINGS PLC,CTHR.N0000,C T Holdings PLC,CTHR
C T LAND DEVELOPMENT PLC,CTLD.N0000,CT Land Develop,CTLD
C. W. MACKIE PLC,CWM.N0000,C W Mackie PLC,CWM
DFCC BANK PLC,DFCC.N0000,DFCC Bank PLC,DFCC
DFCC BANK PLC,DFCC.R0000,,
DIALOG AXIATA PLC,DIAL.N0000,Dialog Axiata PLC,DIAL
DIESEL & MOTOR ENGINEERING PLC,DIMO.N0000,Diesel & Motor Engineering,DIMO
DIPPED PRODUCTS PLC,DIPD.N0000,Dipped Products,DIPD
DISTILLERIES COMPANY OF SRI LANKA PLC,DIST.N0000,Distilleries of Sri Lanka,DIST
COLOMBO DOCKYARD PLC,DOCK.N0000,Colombo Dockyard,DOCK
DANKOTUWA PORCELAIN PLC,DPL.N0000,Dankotuwa Porcelain,DPL
EAST WEST PROPERTIES PLC,EAST.N0000,East West Properties,EAST
E B CREASY & COMPANY PLC,EBCR.N0000,EB Creasy and,EBCR
E-CHANNELLING PLC,ECL.N0000,eChannelling PLC,ECL
EDEN HOTEL LANKA PLC,EDEN.N0000,Eden Hotel Lanka,EDEN
ELPITIYA PLANTATIONS PLC,ELPL.N0000,Elpitiya Plantations,ELPL
EASTERN MERCHANTS PLC,EMER.N0000,Eastern Merchants,EMER
EQUITY TWO PLC,ETWO.N0000,Equity Two PLC,ETWO
EXPOLANKA HOLDINGS PLC,EXPO.N0000,Expolanka,EXPO
GESTETNER OF CEYLON PLC,GEST.N0000,Gestetner of Ceylon,GEST
GALADARI HOTELS (LANKA) PLC,GHLL.N0000,Galadari Hotels Lanka,GHLL
PIRAMAL GLASS CEYLON PLC,GLAS.N0000,Piramal Glass Ceylon,GLAS
GOOD HOPE PLC,GOOD.N0000,Good Hope PLC,GOOD
CEYLON GRAIN ELEVATORS PLC,GRAN.N0000,Ceylon Grain Elevators,GRAN
AMBEON HOLDINGS PLC,GREG.N0000,Ambeon,ABEO
PRIME FINANCE PLC,GSF.N0000,,
CEYLON GUARDIAN INVESTMENT TRUST PLC,GUAR.N0000,Ceylon Guardian Invest,GUAR
HAPUGASTENNE PLANTATIONS PLC,HAPU.N0000,Hapugastenne Plantations,HAPU
HARISCHANDRA MILLS PLC,HARI.N0000,Harischandra Mills,HARI
HNB ASSURANCE PLC,HASU.N0000,HNB Assurance PLC,HASU
HAYCARB PLC,HAYC.N0000,Haycarb PLC,HAYC
HAYLEYS PLC,HAYL.N0000,Hayleys PLC,HAYL
HOUSING DEVELOPMENT FINANCE CORPORATION BANK OF SRI LANKA,HDFC.N0000,HDFC Bank of Sri Lanka,HDFC
HAYLEYS FIBRE PLC,HEXP.N0000,Hayleys Fibre,HEXP
HEMAS HOLDINGS PLC,HHL.N0000,Hemas,HHL
HATTON NATIONAL BANK PLC,HNB.N0000,Hatton National Bank,HNB
HATTON NATIONAL BANK PLC,HNB.X0000,Hatton National Bank,HNBt
HORANA PLANTATIONS PLC,HOPL.N0000,Horana Plantations,HOPL
LOTUS HYDRO POWER PLC,HPFL.N0000,F L C Hydro Power,HYDP
HATTON PLANTATIONS PLC,HPL.N0000,Hatton Plantations,HATT
RESUS ENERGY PLC,HPWR.N0000,Hemas Power,HPWR
HOTEL SIGIRIYA PLC,HSIG.N0000,Hotel Sigiriya PLC,HSIG
HUNAS FALLS HOTELS PLC,HUNA.N0000,Hunas Falls Hotels,HUNA
HUNTERS & COMPANY PLC,HUNT.N0000,Hunter & Co PLC,HUNT
HVA FOODS PLC,HVA.N0000,HVA Foods PLC,HVAF
SERENDIB ENGINEERING GROUP PLC,IDL.N0000,Serendib Engineering,IDL
INDO MALAY PLC,INDO.N0000,Indo Malay PLC,INDO
JETWING SYMPHONY PLC,JETS.N0000,Jetwing Symphony,JETW
JANASHAKTHI INSURANCE PLC,JINS.N0000,Janashakthi Insurance,JINS
JOHN KEELLS HOLDINGS PLC,JKH.N0000,John Keells,JKH
JOHN KEELLS PLC,JKL.N0000,John Keells PLC,JKL
KAHAWATTE PLANTATIONS PLC,KAHA.N0000,Kahawatte Plantations,KAHA
MTD WALKERS PLC,KAPI.N0000,MTD Walkers PLC,KAPI
KELANI CABLES PLC,KCAB.N0000,Kelani Cables PLC,KCAB
KELSEY DEVELOPMENTS PLC,KDL.N0000,Kelsey Develop,KDL
KEELLS FOOD PRODUCTS PLC,KFP.N0000,Keells Food Products,KFP
KEGALLE PLANTATIONS PLC,KGAL.N0000,Kegalle Plantations,KGAL
THE KANDY HOTELS COMPANY (1938) PLC,KHC.N0000,Kandy Hotels (1938),KHC
JOHN KEELLS HOTELS PLC,KHL.N0000,John Keells Hotels,KHL
KOTAGALA PLANTATIONS PLC,KOTA.N0000,Kotagala Plantations,KOTA
KELANI VALLEY PLANTATIONS PLC,KVAL.N0000,Kelani Valley Plantations,KVAL
RENUKA CAPITAL PLC,KZOO.N0000,Kalamazoo Systems,RNUK
LANKA ALUMINIUM INDUSTRIES PLC,LALU.N0000,Lanka Aluminium Industries,LALU
KOTMALE HOLDINGS PLC,LAMB.N0000,Kotmale Holdings,LAMB
LANKEM CEYLON PLC,LCEY.N0000,Lankem Ceylon PLC,LCEY
LANKEM DEVELOPMENTS PLC,LDEV.N0000,Lankem Develop,LDEV
L B FINANCE PLC,LFIN.N0000,L B Finance PLC,LFIN
LAUGFS GAS PLC,LGL.N0000,LAUGFS Gas PLC,LGGL
LAUGFS GAS PLC,LGL.X0000,LAUGFS Gas,LGGLt
THE LANKA HOSPITALS CORPORATION PLC,LHCL.N0000,Lanka Hospitals,LHCL
THE LIGHTHOUSE HOTEL PLC,LHL.N0000,Lighthouse Hotel,LHL
LANKA IOC PLC,LIOC.N0000,Lanka IOC PLC,LIOC
LION BREWERY CEYLON PLC,LION.N0000,Lion Brewery Ceylon,LION
LAXAPANA BATTERIES PLC,LITE.N0000,Laxapana Batteries,LITE
LUCKY LANKA MILK PROCESSING COMPANY PLC,LLMP.N0000,Lucky Lanka Milk Processing,LLMP
LUCKY LANKA MILK PROCESSING COMPANY PLC,LLMP.X0000,Lucky Lanka Milk Processing NV,LLMPt
CHEVRON LUBRICANTS LANKA PLC,LLUB.N0000,Chevron Lubricants Lanka,LLUB
LANKA MILK FOODS (CWE) PLC,LMF.N0000,Lanka Milk Foods,LMF
LOLC FINANCE PLC,LOFC.N0000,Lanka ORIX Finance,LOLF
LOLC FINANCE PLC,LOFC.R0000,,
LOLC HOLDINGS PLC,LOLC.N0000,Lanka ORIX Leasing,LOLC
LAUGFS POWER PLC,LPL.N0000,Laugfs Power,LAUG
LAUGFS POWER PLC,LPL.X0000,,
LAKE HOUSE PRINTERS AND PUBLISHERS PLC,LPRT.N0000,Lake House Printers & Publishers,LPRT
LVL ENERGY FUND PLC,LVEF.N0000,LVL Energy,LVLE
LANKA VENTURES PLC,LVEN.N0000,Lanka Ventures PLC,LVEN
LANKA WALLTILES PLC,LWL.N0000,Lanka Walltiles,LWL
MADULSIMA PLANTATIONS PLC,MADU.N0000,Madulsima Plantations,MADU
MALWATTE VALLEY PLANTATIONS PLC,MAL.N0000,Malwatte Valley Plantations,MAL
MALWATTE VALLEY PLANTATIONS PLC,MAL.X0000,Malwatte Valley Plant Non Vote,MALt
MARAWILA RESORTS PLC,MARA.N0000,Marawila Resorts,MARA
MASKELIYA PLANTATIONS PLC,MASK.N0000,Maskeliya Plantations,MASK
MERCHANT BANK OF SRI LANKA & FINANCE PLC,MBSL.N0000,Merchant Bank of Sri Lanka,MBSL
MAHAWELI COCONUT PLANTATIONS PLC,MCPL.N0000,Mahaweli Coconut,MAHA
MACKWOODS ENERGY PLC,MEL.N0000,Mackwoods Energy,MWEL
MELSTACORP PLC,MELS.N0000,Melstacorp,MELS
MERCANTILE INVESTMENTS AND FINANCE PLC,MERC.N0000,Mercantile Investments and Finance,MERC
MULTI FINANCE PLC,MFL.N0000,Multi Finance PLC,MULT
HAYLEYS FABRIC PLC,MGT.N0000,Hayleys MGT Knitting Mills,MGT
MILLENNIUM HOUSING DEVELOPERS PLC,MHDL.N0000,Millennium Housing Developers,MHDL
MORISON PLC,MORI.N0000,J L Morison Sons & Jones,MORI
MORISON PLC,MORI.X0000,J L Morison Sons & Jones NV,MORIt
MAHAWELI REACH HOTELS PLC,MRH.N0000,Mahaweli Reach Hotel,MRH
MERCANTILE SHIPPING COMPANY PLC,MSL.N0000,Mercantile Shipping Company,MSL
MULLER AND PHIPPS (CEYLON) PLC,MULL.N0000,Muller & Phipps,MULL
NAMUNUKULA PLANTATIONS PLC,NAMU.N0000,Namunukula Plantations,NAMU
NAMAL ACUITY VALUE FUND,NAVF.U0000,Namal Acuity,NAMA
NATIONAL DEVELOPMENT BANK PLC,NDB.N0000,National Development Bank,NDB
THE NUWARA ELIYA HOTELS COMPANY PLC,NEH.N0000,Nuwara Eliya Hotels,NEH
NESTLE LANKA PLC,NEST.N0000,Nestle Lanka PLC,NEST
NAWALOKA HOSPITALS PLC,NHL.N0000,Nawaloka Hospitals,NHL
LOLC DEVELOPMENT FINANCE PLC,NIFL.N0000,,
NATIONS TRUST BANK PLC,NTB.N0000,Nations Trust Bank,NTB
NATIONS TRUST BANK PLC,NTB.X0000,,
ODEL PLC,ODEL.N0000,Odel PLC,ODEL
OFFICE EQUIPMENT PLC,OFEQ.N0000,Office Equipment,OFEQ
ON'ALLY HOLDINGS PLC,ONAL.N0000,On’ally,ONAL
ON'ALLY HOLDINGS PLC,ONAL.R0000,,
OVERSEAS REALTY (CEYLON) PLC,OSEA.N0000,Overseas Realty,OSEA
PAN ASIA BANKING CORPORATION PLC,PABC.N0000,Pan Asia Banking,PABC
PALM GARDEN HOTELS PLC,PALM.N0000,Palm Garden Hotels,PALM
PANASIAN POWER PLC,PAP.N0000,Panasian Power,PANA
PARAGON CEYLON PLC,PARA.N0000,Paragon Ceylon PLC,PARA
SWISSTEK (CEYLON) PLC,PARQ.N0000,Swisstek,PARQ
PROPERTY DEVELOPMENT PLC,PDL.N0000,Property Development,PDL
PEGASUS HOTELS OF CEYLON PLC,PEG.N0000,Pegasus Hotels of Ceylon,PEG
COLOMBO CITY HOLDINGS PLC,PHAR.N0000,Colombo City Holdings,PHAR
PEOPLE'S INSURANCE PLC,PINS.N0000,People’s Insurance,PEIN
PEOPLE'S LEASING & FINANCE PLC,PLC.N0000,People’s Leasing & Finance,PEOP
PEOPLE`S MERCHANT FINANCE PLC,PMB.N0000,People’s Merchant Finance,PMB
PEOPLE`S MERCHANT FINANCE PLC,PMB.R0000,,
RENUKA AGRI FOODS PLC,RAL.N0000,Renuka Agri Foods,RAFL
RENUKA HOTELS PLC,RCH.N0000,Renuka Hotels,RENH
ROYAL CERAMICS LANKA PLC,RCL.N0000,Royal Ceramics Lanka,RCL
CITRUS LEISURE PLC,REEF.N0000,Citrus Leisure PLC,REEF
CITRUS LEISURE PLC,REEF.R0000,,
REGNIS(LANKA) PLC,REG.N0000,Regnis Lanka PLC,REG
RENUKA CITY HOTEL PLC,RENU.N0000,Renuka City Hotel,RENU
RICHARD PIERIS EXPORTS PLC,REXP.N0000,Richard Pieris Exports,REXP
RAMBODA FALLS PLC,RFL.N0000,Ramboda Falls PLC,RFLL
RADIANT GEMS INTERNATIONAL PLC,RGEM.N0000,Radiant Gems Int,RGEM
RENUKA HOLDINGS PLC,RHL.N0000,Renuka Holdings,RHL
RENUKA HOLDINGS PLC,RHL.X0000,Renuka Holdings,RHLt
THE FORTRESS RESORTS PLC,RHTL.N0000,Fortress Resorts,RHTL
RICHARD PIERIS AND COMPANY PLC,RICH.N0000,Richard Pieris and,RICH
R I L PROPERTY PLC,RIL.N0000,R I L Property,RILP
ROYAL PALMS BEACH HOTELS PLC,RPBH.N0000,Royal Palms Beach Hotels,RPBH
RAIGAM WAYAMBA SALTERNS PLC,RWSL.N0000,Raigam Wayamba Salterns,RAIG
SAMPATH BANK PLC,SAMP.N0000,Sampath Bank,SAMP
SAMPATH BANK PLC,SAMP.R0000,,
SOFTLOGIC CAPITAL PLC,SCAP.N0000,Softlogic Capital,SOCL
SANASA DEVELOPMENT BANK PLC,SDB.N0000,Sanasa Development Bank,SANA
SELINSING PLC,SELI.N0000,Selinsing PLC,SELI
SMB LEASING PLC,SEMB.N0000,SMB Leasing PLC,SEMB
SMB LEASING PLC,SEMB.X0000,SMB Leasing PLC,SEMBt
THE KINGSBURY PLC,SERV.N0000,Kingsbury,SERC
SEYLAN BANK PLC,SEYB.N0000,Seylan Bank PLC,SEYB
SEYLAN BANK PLC,SEYB.R0000,,
SEYLAN BANK PLC,SEYB.R0001,,
SEYLAN BANK PLC,SEYB.X0000,Seylan Bank PLC NV,SEYBt
SENKADAGALA FINANCE PLC,SFCL.N0000,Senkadagala Finance,SFCL
SINGER FINANCE (LANKA) PLC,SFIN.N0000,Singer Finance,SIFI
SINHAPUTHRA FINANCE PLC,SFL.N0000,Sinhaputhra Finance,SFL
SINHAPUTHRA FINANCE PLC,SFL.P0000,Sinhaputhra Finance Pref,SFL_p
SHALIMAR (MALAY) PLC,SHAL.N0000,Shalimar Estates,SHAL
LEE HEDGES PLC,SHAW.N0000,Lee Hedges PLC,SHAW
SOFTLOGIC HOLDINGS PLC,SHL.N0000,Softlogic Holdings,SOFT
SERENDIB HOTELS PLC,SHOT.N0000,Serendib Hotels,SHOT
SERENDIB HOTELS PLC,SHOT.X0000,Serendib Hotels,SHOTt
SIGIRIYA VILLAGE HOTELS PLC,SIGV.N0000,Sigiriya Village Hotels,SIGV
SAMSON INTERNATIONAL PLC,SIL.N0000,Samson Int,SIL
SINGHE HOSPITALS PLC,SINH.N0000,Singhe Hospitals Ltd,SIGH
SINGER INDUSTRIES (CEYLON) PLC,SINI.N0000,Singer Industries,SINI
SINGER (SRI LANKA) PLC,SINS.N0000,Singer Sri Lanka,SINS
SIERRA CABLES PLC,SIRA.N0000,Sierra Cables PLC,SIRA
SERENDIB LAND PLC,SLND.N0000,Serendib Land PLC,SLND
SRI LANKA TELECOM PLC,SLTL.N0000,Sri Lanka Telecom,SLTL
SATHOSA MOTORS PLC,SMOT.N0000,Sathosa Motors,SMOT
CONVENIENCE FOODS (LANKA )PLC,SOY.N0000,Convenience Foods,SOY
AITKEN SPENCE PLC,SPEN.N0000,Aitken Spence PLC,SPEN
DOLPHIN HOTELS PLC,STAF.N0000,Dolphin Hotels PLC,STAF
SUNSHINE HOLDINGS PLC,SUN.N0000,Sunshine,SUN
SWADESHI INDUSTRIAL WORKS PLC,SWAD.N0000,Swadeshi Industrial Works PLC,SWAD
THREE ACRE FARMS PLC,TAFL.N0000,Three Acre Farms,TAFL
TAL LANKA HOTELS PLC,TAJ.N0000,Tal Lanka Hotels,TAJ
TANGERINE BEACH HOTELS PLC,TANG.N0000,Tangerine Beach Hotels,TANG
AMBEON CAPITAL PLC,TAP.N0000,Taprobane,AMBE
TESS AGRO PLC,TESS.N0000,Tess Agro PLC,TESS
TESS AGRO PLC,TESS.X0000,,
THE FINANCE COMPANY PLC,TFC.N0000,Finance,TFC
THE FINANCE COMPANY PLC,TFC.X0000,Finance Company Not Voting,TFCt
TRADE FINANCE & INVESTMENTS PLC,TFIL.N0000,Trade Finance & Investments,TFIL
LANKA TILES PLC,TILE.N0000,Lanka Tiles PLC,TILE
TEEJAY LANKA PLC,TJL.N0000,Teejay Lanka PLC,TEEJ
TOKYO CEMENT COMPANY (LANKA) PLC,TKYO.N0000,Tokyo Cement,TKYO
TOKYO CEMENT COMPANY (LANKA) PLC,TKYO.X0000,Tokyo Cement Lanka,TKYOt
TALAWAKELLE TEA ESTATES PLC,TPL.N0000,Talawakelle Tea Estate,TPL
TRANS ASIA HOTELS PLC,TRAN.N0000,Trans Asia Hotels,TRAN
TEA SMALLHOLDER FACTORIES PLC,TSML.N0000,Tea Smallholder Factories,TSML
KELANI TYRES PLC,TYRE.N0000,Kelani Tyres PLC,TYRE
UNION ASSURANCE PLC,UAL.N0000,Union Assurance,UAL
UNION BANK OF COLOMBO PLC,UBC.N0000,Union Bank,UNIO
UNION CHEMICALS LANKA PLC,UCAR.N0000,Union Chemicals Lanka,UCHE
UDAPUSSELLAWA PLANTATIONS PLC,UDPL.N0000,Udapussellawa Plantations,UDPL
UNITED MOTORS LANKA PLC,UML.N0000,United Motors Lanka,UML
VALLIBEL FINANCE PLC,VFIN.N0000,Vallibel Finance,VALL
VIDULLANKA PLC,VLL.N0000,Vidullanka PLC,VLL
VALLIBEL ONE PLC,VONE.N0000,Vallibel One PLC,VALI
VALLIBEL POWER ERATHNA PLC,VPEL.N0000,Vallibel Power Erathna,VPEL
GUARDIAN CAPITAL PARTNERS PLC,WAPO.N0000,Guardian Capital Partners,WAPO
WATAWALA PLANTATIONS PLC,WATA.N0000,Watawala Plantations,WATA
YORK ARCADE HOLDINGS PLC,YORK.N0000,York Arcade,YORK

The error message contains the information you need:

BokehUserWarning: ColumnDataSource’s columns must be of the same length. Current lengths: (‘Close’, 1289), (‘Date’, 1507), (‘High’, 1289), (‘Low’, 1289), (‘Open’, 1289), (‘Volume’, 1289)

Your “Date” column has more rows than all the other columns. This is not permissible (all columns must have the same length, just exactly the same as a Pandas DataFrame). You need to figure out why your “Date” column has too many entries.

Looks like you also have a second usage error, but that error also contains all the necessary information:

Expected bottom to reference fields in the supplied data source.

When a source argument is passed to a glyph method, values that are sequences
(like lists or arrays) must come from references to data columns in the source.

For instance, as an example:

source = ColumnDataSource(data=dict(x=a_list, y=an_array))

p.circle(x='x', y='y', source=source, ...) # pass column names and a source

Alternatively, all data sequences may be provided as literals as long as a
source is not provided:

p.circle(x=a_list, y=an_array, ...)  # pass actual sequences and no source

Somewhere, you passing both column names with a source parameter, and concrete lists/arrays to the same glyph. That is an error. If you provide a source parameter then all the data needs to come from that source (or be single scalar values).

Edit: specifically (from the error) you are passing a python list or array as the value for “bottom” (so, probaby a vbar) but also referencing CDS data source fields for other properties of the same glyph. You can’t do that. You can set to a single value e.g. bottom=0 or you can set to another CDS column name: bottom="some_colname".

s = 'VONE.N0000'
original[s].dropna().info()

gives:

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 2344 entries, 2011-07-11 to 2021-06-04
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   Open    2344 non-null   float64
 1   High    2344 non-null   float64
 2   Low     2344 non-null   float64
 3   Close   2344 non-null   float64
 4   Volume  2344 non-null   int64  
dtypes: float64(4), int64(1)
memory usage: 109.9 KB

@srinath I can’t do anything with that information. I have explained what the proximate problem is and how to fix it, but you will need to trace through your code to see how/where Date is getting set incorrectly.