<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_cci(self,periods=14,cci_upper=100,cci_lower=-100, 			 showbands=True,str=None,name='',**kwargs):
 		""" 		Commodity Channel Indicator study to QuantFigure.studies 		Parameters: 			periods : int or list(int) 				Number of periods 			cci_upper : int 				Upper bands level 				default : 100 			cci_lower : int 				Lower band level 				default : -100 			showbands : boolean 				If True, then the cci_upper and 				cci_lower levels are displayed 			name : string 				Name given to the study 			str : string 				Label factory for studies 				The following wildcards can be used: 					{name} : Name of the column 					{study} : Name of the study 					{period} : Period used 				Examples: 					'study: {study} - period: {period}' 		kwargs: 			legendgroup : bool 				If true, all legend items are grouped into a 				single one 			All formatting values available on iplot() 		"""

		study={'kind':'cci',
			   'name':name,
			   'params':{'periods':periods,'high':self._d['high'],'low':self._d['low'],'close':self._d['close'],
						 'str':str},
			  'display':utils.merge_dict({'legendgroup':True,'cci_upper':cci_upper,
						 'cci_lower':cci_lower,'showbands':showbands},kwargs)}
		self._add_study(study)