Skip to Main Content
ICBA
ICBA
  • Member Login
  • Member Login

At ICBA Securities, we provide community bankers the tools to grow their investments.

ICBA Securities Corporation is a service of the ICBA Services Network®, a wholly owned subsidiary of ICBA.

Contact Us Example Text
Main Street Local Community 01 circle branded

ICBA Securities Overview

ICBA Securities Corporation (ICBA Securities) a subsidiary of the ICBA (Independent Community Bankers of America) that was founded in 1989 following two years of intensive research by ICBA's Bank Services Committee.

As ICBA Securities is owned by the nation’s largest trade association for community banks, it has a commitment to return all of its profits to the industry, in the form of royalties, sponsorships, or dividends. Through 2021, it had reinvested over $49 million back into its supporting state/regional partners or into the ICBA. Six of the seven ICBA Securities board directors are leadership community bankers.

We are proud to be endorsed by over 30 community bank state associations.

Education Opportunities Through ICBA Securities

ICBA Securities provides an education platform tailored to the needs of community banks and ICBA Securities representatives attend and speak at most state community banking conferences, conducting an average of 50 educational events per year.

ICBA Securities annually hosts the ICBA Bond Academy, which equips community bank portfolio managers with the skills to maintain a high performing institution, and the ICBA Balance Sheet Academy, which is an intermediate-level program for more experienced financial managers. 

ICBA Securities also endorses and teaches at the Barret Graduate School of Banking in Memphis, Tenn. The President of ICBA Securities, Jim Reber, writes a monthly investment column for ICBA’s Independent Banker magazine.

If you would like to learn more about the organization, please contact ICBA Securities at 866-843-4222 or info@icbasecurities.com.

Current Financials

We are happy to provide you with a copy of our most recent audited financial statement. If you would like to learn more about the organization, please contact ICBA Securities at 866-843-4222 or info@icbasecurities.com.

Learn How ICBA Securities Can Help Your Community Bank

For general information email us: info@icbasecurities.com
Reach us by phone at 866-843-4222

Upcoming Events

An error occurred while processing the template.
The following has evaluated to null or missing:
==> productCategories.items  [in template "49724393377863#35335#1064200" at line 37, column 26]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: categories = productCategories.items  [in template "49724393377863#35335#1064200" at line 37, column 13]
----
1<#assign 
2    commerceContext = renderRequest.getAttribute("COMMERCE_CONTEXT") 
3    account = commerceContext.getAccountEntry() 
4    accountId = account.getAccountEntryId() 
5    chanelId = commerceContext.getCommerceChannelId() 
6/> 
7 
8<#assign  
9    start = "", end = "", startDateStr = "", endDateStr = "", year = "", dateDisplay = "",  
10    timeDisplay = "", locationDisplay = "", futureEvent = "", futureEventList = [], isWebinar = "false", isEvent = "false" ,type = "" 
11/> 
12 
13<#if entries?has_content> 
14	<div class=""> 
15		<div class="row align-items-start"> 
16		<#assign index = 0/> 
17    <#list entries as curCPCatalogEntry> 
18			<!-- Only display up to 4 entries --> 
19			<#if index == 4 > 
20				<#break> 
21			</#if> 
22			<#assign index++/> 
23        <#assign 
24            cpDefinitionId = curCPCatalogEntry.getCPDefinitionId() 
25            productId = curCPCatalogEntry.getCProductId() 
26            productName = curCPCatalogEntry.getName() 
27            productShortDescription = curCPCatalogEntry.getShortDescription() 
28            productDescription = curCPCatalogEntry.getDescription() 
29						friendlyURL = cpContentHelper.getFriendlyURL(curCPCatalogEntry, themeDisplay) 
30            productImages = cpContentHelper.getImages(cpDefinitionId, false, themeDisplay)								  
31            defaultImageURL = cpContentHelper.getDefaultImageFileURL(accountId, cpDefinitionId) 
32            defaultImageFileVersion = cpContentHelper.getCPDefinitionImageFileVersion(cpDefinitionId, request) 
33            productDetail = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}?accountId=${accountId}&nestedFields=categories,productSpecifications") 
34            defaultImageURL = productDetail.urlImage?replace('https://localhost', '') 
35            customFields = productDetail.customFields 
36            productCategories = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}/categories?pageSize=40") 
37            categories = productCategories.items 
38            erc = productDetail.externalReferenceCode 
39            infoObj = {} 
40            deliverymethodArray = [] 
41        /> 
42 
43        <!-- Process categories as per your logic --> 
44        <#if categories?has_content> 
45            <#list categories as category> 
46                <#if category.vocabulary?replace(' ', '') == 'deliverymethod'> 
47                    <#assign deliverymethodArray += [{"id": category.id, "value": category.name}] /> 
48                <#else> 
49                    <#assign infoObj = infoObj + { (category.vocabulary?replace(' ', '')): {"id": category.id, "value": category.name} } /> 
50                </#if> 
51            </#list> 
52            <#assign infoObj = infoObj + {"deliverymethod": deliverymethodArray} /> 
53        </#if> 
54 
55        <!-- Add customFields to infoObj --> 
56        <#list customFields as customField> 
57            <#assign infoObj = infoObj + {(customField.name): customField.customValue.data} /> 
58        </#list> 
59 
60        <#-- Check Event Start Date --> 
61        <#if infoObj["Event Start Date"]?has_content> 
62            <#assign startRaw = infoObj["Event Start Date"] /> 
63            <#attempt> 
64                <#assign start = startRaw?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'") /> 
65							  <#assign startDateStr = start?string("MMM d") /> 
66                <#assign year = start?string("yyyy") /> 
67                <#assign today = .now /> 
68                <#assign todaylong = today?long /> 
69                <#assign startlong = start?long /> 
70				        <#recover> 
71            </#attempt> 
72        </#if> 
73				<#if infoObj["Event End Date"]?has_content> 
74              <#assign end = infoObj["Event End Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'") /> 
75              <#assign endDateStr = end?string("MMM d") /> 
76        </#if> 
77 
78					<!-- Reset variables per item --> 
79             <#assign isWebinar = "false" /> 
80             <#assign isEvent = "false" /> 
81             <#assign productTypeName = "" /> 
82             <#assign eventTypeName = "" /> 
83						 <!-- Category Arrangement --> 
84						    <#if categories?has_content> 
85									 <#list categories as category> 
86										 <#if category.vocabulary == 'event type'> 
87											  <#assign eventTypeName = category.name /> 
88											 </#if> 
89										  <#if category.vocabulary == 'product type'> 
90												<#assign productTypeName = category.name /> 
91												<#if productTypeName == "Webinar"> 
92													 <#assign isWebinar = "true" /> 
93													</#if> 
94												<#if productTypeName == "Event"> 
95													 <#assign isEvent = "true" /> 
96													</#if> 
97												</#if> 
98										 </#list> 
99									</#if> 
100						 <!-- Closed --> 
101             <!-- Only display event, when its a webinar or event --> 
102					<#assign languageValue = ""/> 
103						  <#if productTypeName?has_content && (isWebinar == "true" || isEvent == "true")> 
104                <#if isWebinar == "true"> 
105                 <#assign type = "product-name-webinar"/> 
106                   <#else> 
107                    <#assign type = "product-name-event"/> 
108                  </#if> 
109									 
110									<#assign productTypeImageDefault = languageUtil.get(locale, type)/>  
111								 <div class="col-12"> 
112									 <div class="card white-bg-card is-horizontal-on-desktop is-horizontal-on-mobile cta-position-right-bottom mb-4"> 
113										  <div class="card-img"> 
114												<#if productTypeImageDefault?has_content && productTypeImageDefault != type > 
115													 <img src="${productTypeImageDefault}" data-fileentryid="" width="271" height="192" alt="" class="product-image-img" /> 
116													 <#else> 
117														 <#if productImages?has_content> 
118										            <#list productImages as currentImage> 
119                                   <#if currentImage?has_content> 
120                                      <img src="${currentImage.getURL()}" data-fileentryid="" width="271" height="192" alt="" class="product-image-img" /> 
121                                      <#else> 
122                                       <img src="${productTypeImageDefault}" data-fileentryid="" width="271" height="192" alt="" class="product-image-img" /> 
123                                      </#if> 
124                                 </#list> 
125										          </#if> 
126											</#if> 
127												<!-- <img src="/documents/35333/0/624ac740b5293af398505d5cefabed561be471a1.webp/04f9e012-4be2-bee7-76bd-552fd85e399b?version=1.0&amp;t=1746205445161" alt=""> --> 
128										 </div> 
129										  <div class="card-body"> 
130												<h3 class="card-title header-s" data-truncate="2"><a href="${friendlyURL}">${productName}</a></h3> 
131												<div data-truncate="3">${productDescription}</div> 
132												<div class="card-meta"> 
133													<#if startDateStr?has_content && endDateStr?has_content> 
134														<#if startDateStr == endDateStr> 
135															  <#assign dateDisplay = startDateStr + ", " + year /> 
136														  <#else> 
137															 <#assign dateDisplay =  startDateStr + "–" +  endDateStr + ", " + year /> 
138															 </#if> 
139														</#if> 
140														${dateDisplay} 
141														 <#if productTypeName?has_content && isWebinar == "true"> 
142															 &nbsp;|&nbsp; <li class="label">Webinar</li> 
143															 </#if> 
144														 <#if eventTypeName?has_content && isEvent == "true"> 
145															 &nbsp;|&nbsp; <li class="label">${eventTypeName}</li> 
146															 </#if> 
147												</div> 
148											 
149                              <#if categories?has_content> 
150																	<div class="card-categories"> 
151                                   <#assign topicCount = 0 /> 
152                                       <#list categories as topicCat> 
153                                           <#if topicCat.vocabulary == "topic" && topicCount < 2> 
154                                              <span class="tag-pill body-13">${topicCat.name}</span> 
155                                               <#assign topicCount = topicCount + 1 /> 
156                                            </#if> 
157                                        </#list> 
158																    </div> 
159                                </#if> 
160                       <div class="btns-wrapper"> 
161                              <a href="${friendlyURL}" class="btn btn-link btn-arrow-right"><span class="visually-hidden">View details</span></a> 
162												</div> 
163										 </div> 
164                        </div> 
165										 </div> 
166								</#if> 
167						 <!-- Closed --> 
168    </#list> 
169		</div> 
170	</div> 
171</#if> 

Recent Articles

34 State Associations Endorse ICBA Securities

ICBA Securities is pleased to have earned the endorsement of the community bank state associations below. We participate in their educational agendas and support their advocacy efforts. We also help support their operations financially in the form of royalties and sponsorships. Click on a logo to visit an association’s website.

If you would like to learn more about the organization, please contact ICBA Securities at 866-843-4222 or info@icbasecurities.com.

Arkansas Bankers
California Bankers
Colorado Bankers
Florida Bankers
Georgia Bankers
Idaho Bankers
Iowa Bankers
Kansas Bankers
Louisiana Bankers
Maine Bankers
Maryland Bankers
Mass Bankers
Michigan Bankers
Minnesota Bankers
Missouri Bankers
Montana Bankers
Nebraska Bankers
New Hampshire Bankers
New Jersey Bankers
New Mexico Bankers
New York Bankers
North Carolina Bankers
North Dakota Bankers
Ohio Bankers
Oklahoma Bankers
South Dakota Bankers
Vermont Bankers
Virginia Bankers
Washington Bankers
West Virginia Bankers
Wyoming Bankers

Board of Directors

Aza Bittinger

Aza Bittinger

President & CEO

Community Bankers Association of Ohio

Columbus

Ohio

View Details Example Text

Rebeca Romero Rainey

President & CEO

ICBA

View Details Example Text
Thomas Bates Jr.

Thomas Bates, Jr.

ICBA At-Large Director

President & CEO

Legends Bank of Clarksville

TN

View Details Example Text
Brenda Foster

Brenda Foster

ICBA At-Large Director and Federal Delegate Board Representative

Chairman

President and CEO

View Details Example Text
Craig Wanichek

Craig Wanichek

President & CEO

Summit Bank

Eugene

OR

View Details Example Text
Blake Heid

Blake Heid

President & CEO

First Option Bank

Osawatomie

KS

View Details Example Text
Gabe Guerra

Gabe Guerra

President/CEO

Kleberg Bank

View Details Example Text